在C#裡,要使用MD5或是SHA1加密,可以使用FormsAuthentication.HashPasswordForStoringInConfigFile 方法很簡單的做到(當然要自己寫也可以),但是要使用HMAC-SHA1加密就沒那麼簡單了。
簡單分享一下我的作法
傳入值為(須加密字串,加密金鑰字串),輸出為轉成Base64形式的字串。
記得要using System.Security.Cryptography;
簡單分享一下我的作法
public static string HMACSHA1Text(string EncryptText, string EncryptKey) { HMACSHA1 hmacsha1 = new HMACSHA1(); hmacsha1.Key = System.Text.Encoding.ASCII.GetBytes(EncryptKey); byte[] dataBuffer = System.Text.Encoding.ASCII.GetBytes(EncryptText); byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer); return Convert.ToBase64String(hashBytes); }
傳入值為(須加密字串,加密金鑰字串),輸出為轉成Base64形式的字串。
記得要using System.Security.Cryptography;
剛剛試了一下
ReplyDelete第四行 hmacsha1.Key = System.Text.Encoding.ASCII.GetBytes(EncryptKey);
我是這樣寫才會過
有反向運算的方式嗎??
感謝分享
那個應該是你沒有using System.Text;的關係,我修改一下內文好了,解密的我因為沒用到所以沒寫XDDD 有空再貼上來
ReplyDelete感恩,剛好需要用到 ^__^
ReplyDelete