frontend、backend 加解密
js CryptoJs Aes : https://cryptojs.gitbook.io/docs/
c# Aes : https://docs.microsoft.com/zh-tw/dotnet/api/system.security.cryptography.aes?view=netframework-4.8
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
前端傳參數至後端參數,需encrypt、decrypt過程,使用 cryptojs Aes處理,看了很多範本,實際做過,才知中間細節
Aes 對稱式加密,需 key 32位、iv 16位使用
當frontend在encrypt時,先 Encoding.UTF8.GetBytes,然在CryptoJS.enc.Base64.stringify時,
backend在decrypyt接時,也需同樣流程轉換 Convert.FromBase64String,然在 Encoding.UTF8.GetString
紅 : 登入前的帳號,和經過UTF8、Base64、encrypt的 log,藍為登入後的 logout顯示
當backend在encrypt時,先 Encoding.UTF8.GetBytes,然在 Convert.ToBase64String時,
frontend在decrypt時,就不一定同流程轉換,只需CryptoJS.enc.Utf8
紅 : 後端傳回經過UTF8、ToBase64String、encrypt,藍 : decrypt 的log
ref :
c# : https://blog.johnwu.cc/article/net-core-aes-cryptography.html 非常簡短,比官方還短,謝謝有重構過的代碼
Js :
https://cryptojs.gitbook.io/docs/
http://jser.io/2014/08/19/how-to-use-aes-in-crypto-js-to-encrypt-and-decrypt
https://blog.zhengxianjun.com/2015/05/javascript-crypto-js/
雜湊不是加密,雜湊不是加密,雜湊不是加密 : https://dotblogs.com.tw/regionbbs/2017/09/21/hashing_is_not_encryption