国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【不怕坑】之 Node.js加密 C#解密

2019-11-17 02:46:10
字體:
來源:轉載
供稿:網友

【不怕坑】之 Node.js加密 C#解密

Posted on 2014-11-11 18:30 yzx226 閱讀(...) 評論(...) 編輯 收藏

本人也不太了解AES加密解密,為了解決Node.js加密,但是無法C#解密的問題,在網上搜了大量的相關文章。

但是多數是Node.js vs java 或 Java vs C#的雙向加密解密代碼,但是沒有Node.js vs C#。

然后通過反復試驗,找到了解決辦法。

不多說了,上代碼,有坑不怕,隨我沖!

Node.js加密

var crypto = require('crypto');var secretKey = 'passWord';var aesEncrypt = function(data) {      var cipher = crypto.createCipher('aes-128-ecb',secretKey);      return cipher.update(data,'utf8','hex') + cipher.final('hex');  }console.log(aesEncrypt('hello world!'));//輸出 c552d8545e864fd8f8b73e442cca9276 ,注意這里是16位形式的字符串

C#解密

static void Main(string[] args){    Console.WriteLine(Decrypt("c552d8545e864fd8f8b73e442cca9276"));    //輸出 hello world!}PRivate static string Decrypt(string toDecrypt){    byte[] keyArray = get_key(); //坑1:需要md5轉換    byte[] toEncryptArray = HexToByte(toDecrypt); //坑2:需要將16位形式的字符串轉成字節數組    RijndaelManaged rDel = new RijndaelManaged();    rDel.Key = keyArray;    //rDel.KeySize = 128;  //坑3:rDel.KeySize已經是128,但是加上這句話后,就不會正確解密    //rDel.BlockSize = 128;//坑3:rDel.BlockSize已經是128,但是加上這句話后,就不會正確解密    rDel.Mode = CipherMode.ECB;    rDel.Padding = PaddingMode.PKCS7;    ICryptoTransform cTransform = rDel.CreateDecryptor();    byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);    return UTF8Encoding.UTF8.GetString(resultArray);}private static byte[] get_key(){    string key = "password";    byte[] result = Encoding.UTF8.GetBytes(key);    MD5 md5 = new MD5CryptoServiceProvider();     return md5.ComputeHash(result);}private static byte[] HexToByte(string msg){    //msg = msg.Replace(" ", "");//移除空格    byte[] comBuffer = new byte[msg.Length / 2];    for (int i = 0; i < msg.Length; i += 2)    {        comBuffer[i / 2] = (byte)Convert.ToByte(msg.Substring(i, 2), 16);    }    return comBuffer;}

C#加密,node.js解密,待續~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芷江| 卓资县| 伊川县| 秦安县| 那曲县| 枣阳市| 景洪市| 宜州市| 大埔区| 峨山| 德安县| 泉州市| 合作市| 岳阳市| 习水县| 彩票| 山东省| 宁津县| 封开县| 仪陇县| 思茅市| 镇安县| 都江堰市| 凯里市| 广水市| 宿州市| 安图县| 乐昌市| 安徽省| 嘉义县| 闸北区| 甘德县| 南华县| 米易县| 淳化县| 临夏县| 汉源县| 元朗区| 长乐市| 工布江达县| 左权县|