创建类似cryptoJS的C#256位AES加密
create C# 256 bit AES encryption like cryptoJS
im试图在c#中封装有效负载
我有Javascript中的代码,我试图在C#中创建相同的加密,很难重新创建相同的密码。
给定的javascript代码(无法更改):
var data =
{
'username':username,
'password':password,
'isPersistent':'false'
};
var encrypted = CryptoJS.AES.encrypt(JSON.stringify(data),token, { format: JsonFormatter });
var body = {
payload: JSON.parse(encrypted.toString()),
token: token
}
debugger
$.post(url, body).success(resultFunction)
我想在c#中创建相同的加密
Dictionary<string, string> data = new Dictionary<string, string>();
data.Add("username", username);
data.Add("password", password);
data.Add("isPersistent", "false");
string token = "7e4bac048ef766e83f0ec8c079e1f90c2eb690a9";
string serializedData = json_serialize(data);
string encrypted = EncryptText(serializedData, token);
Dictionary<string, string> body = new Dictionary<string, string>();
body.Add("payload", json_deserialize(encrypted));
body.Add("token", token);
var loginWebRequest = createWebRequest(address, "POST", json_serialize(body));
我这里有几个问题,在js中,你可以指定加密的格式,然后使用JSON.parse。它似乎无法在c中完成
我使用了http://www.codeproject.com/Articles/769741/Csharp-AES-bits-Encryption-Library-with-Salt.
我是否可以在c#中创建相同的代码片段?
谢谢!
本文中的代码:仅使用.NET类的openssl与CryptoJS AES兼容。
测试:
JS:
var encrypted = CryptoJS.AES.encrypt("abc12345","7e4bac048ef766e83f0ec8c079e1f90c2eb690a9");
encrypted.toString(); //output: "U2FsdGVkX18eGD2hSe9UyGgTk5NGKFmvWq/3c5IYHoQ="
C#:
var p = new Protection();
var s = p.OpenSSLDecrypt("U2FsdGVkX18eGD2hSe9UyGgTk5NGKFmvWq/3c5IYHoQ=", "7e4bac048ef766e83f0ec8c079e1f90c2eb690a9");
Console.WriteLine(s);//output: "abc12345"
相关文章:
- 如何正确使用AES加密
- 使用PKCS7Padding在python和Node.js之间进行AES加密
- 如何将HMAC添加到CryptoJS AES加密中
- react本机AES加密匹配Java解密算法
- javascript中的AES加密和java中的解密
- CryptoJS AES加密不是对称的
- 将 Java AES 加密代码移植到 node.js
- 节点.js使用 AES 加密大文件
- 有人可以帮助我让我的AES加密在Java,Javascript和C#之间工作吗?
- 简单的浏览器对称AES加密
- 使用jquery进行AES加密
- 创建类似cryptoJS的C#256位AES加密
- 在浏览器中的Node和CryptoJS之间使用AES加密时出现问题
- CryptoJS AES加密和JAVA AES解密值不匹配
- 解密一个c# AES加密
- AES加密,Javascript和Php哪个更好
- CryptoJS AES加密的额外参数.如何使用PHP进行复制
- CryptoJS AES加密输出不匹配
- 在JavaScript中使用CryptoJS和AES加密的不同AES加密输出
- nodeJS:can't让加密模块给我正确的AES加密结果