Tag: cryptojs

使用vb.net AES / CBCencryptionstring,并需要使用JavaScript CryptoJS进行解密

我有一个vb.net Windows窗体应用程序,将stringencryption到文件。 我现在需要JavaScript来解密这个值。 我试图使用CryptoJS,但我正在努力与语法,以及如何获得在CryptoJS.PBKDF2(假设是正确的使用)使用正确的格式密码,盐和初始化向量。 调用方法 Dim encryptedComplianceValue = encrypt2(complianceValue, "Password", "Salt Value", "SHA1", 2, "@1B2c3D4e5F6g7H8", 256) encryption方法 Public Function encrypt2(ByVal plainText As String, ByVal passPhrase As String, ByVal saltValue As String, ByVal hashAlgorithm As String, ByVal passwordIterations As Integer, ByVal initVector As String, ByVal keySize As Integer) As String Dim initVectorBytes As Byte() initVectorBytes = […]

PassportJS – 在将有效载荷数据传递给passport.authenticate作为请求参数之前获取

有一个passport.js实现正在用于LDAP-auth工作。 现在下一步是使用Crypto-js客户端的Crypto-js ,如下所示: Client-side angular-js controller $scope.authenticate = function () { var auth = new login(); auth.username = $scope.username; auth.password = CryptoJS.AES.encrypt($scope.password); //// HERE auth.$save(function (response){ console.log(response); },function(err){ console.log(err); }); } Server-side service ….. ….. app.post('/login', passport.authenticate('ldapauth'), (req, res) => { console.log("req.user: ",req.user); req.session.username = req.user[ldap.username]; req.session.userModel = req.user; res.status(200).send({"success": 'success'}); }); ….. 在调用passport.authenticate之前在服务器端的服务上,用请求'req'validationaesencryption的密码需要被解密。 这怎么能在这里实现呢? […]

Crypto JS:TripleDES不能正确encryption

当使用crypto js tripleDESencryption时,我注意到所有要encryption的string长度都很小,例如“01”,“111”,“20”,但是如“5000021234567890000”这样的长string,输出不正确,是不是我期待的价值。 例如对于这个“5000021234567890000” ,我期待这个: “HctDaKc / U9avOwZMSS5mEi62kfojDHA4”,但我得到这个,而不是: HctDaKc / U9bNnFy6eZHqHj3SemorJxQM 。 这是我find并用于encryption的代码 let key = CryptoJS.MD5(enckey); key.words[4] = key.words[0]; key.words[5] = key.words[1]; let iv = CryptoJS.lib.WordArray.create(64/8); CryptoJS.TripleDES.encrypt("5000021234567890000", key, {iv: iv}); 您的帮助将非常感激。

用CryptoJS解密openssl AES

我试图使用CryptoJS 3.1.5解密用opensslencryption的文件。 一切工作正常,如果我使用CryptoJSencryption和解密,壳在OpenSSL一样,但是当我尝试混合CryptoJS与OpenSSL一切都出错了。 该文件是使用以下命令创build的: openssl enc -aes-256-cbc -in file.txt -out file.enc -k password 我试图解密这样的: fs.readFile('file.enc', function(err, data) { var decrypted = CryptoJS.AES.decrypt( data.toString(), "password", { mode : CryptoJS.mode.CBC } ); console.log(decrypted.toString(CryptoJS.enc.Utf8)); }); // Give me this err: Uncaught Error: Malformed UTF-8 data 而另一方面,我也这样做: fs.readFile('file.txt', function(err, data) { var encrypted = CryptoJS.AES.encrypt( data.toString(), "password", { mode […]

由于crypto.DEFAULT_ENCODING ='binary',节点6升级导致aws-sdk的SignatureDoesNotMatch错误。

我已经从节点4移动到节点6,这导致任何使用aws-sdk返回以下错误消息: SignatureDoesNotMatch:我们计算的请求签名与您提供的签名不匹配。 检查您的AWS秘密访问密钥和签名方法。 详细信息请参阅服务文档。 看看代码,这似乎是由我的代码调用encryption来创build和validation散列和集合 crypto.DEFAULT_ENCODING = 'binary' 如果我从“二进制”更改为“缓冲区”(这是默认),aws-sdk的作品,但我的代码无法validation旧哈希值。 这是用来创build和检查散列的代码: crypto.pbkdf2(password, salt, iterations, keysize, function (err, derivedKey) { callback(null, [salt.toString('base64'), new Buffer(derivedKey).toString('base64')]) }); 查看crypto.DEFAULT_ENCODING的encryption文档我不确定使用缓冲区和二进制文件有什么区别。 有没有办法使用二进制编码仅用于这种encryption方法,而不会影响aws-sdk? 如果没有的话,是否有一种方法可以将使用“缓冲”编码的pbkdf2产生的散列转换为使用“二进制”编码时产生的散列?

crypto-js如何隐藏类方法?

从这开始 import crypto from 'crypto-js' global.crypto = crypto 当我从浏览器控制台访问encryption时,我得到以下错误 crypto['AES'].encrypt('MyString', 'pass').toString() // Uncaught TypeError: Cannot read property 'encrypt' of undefined(…) 但是当我从Node访问它的时候,它的工作原理是-_- crypto['AES'].encrypt('MyString','pass').toString() // Encrypted String Crypto JS如何做到这一点? 不能直接从浏览器访问,而是在节点访问?

节点encryption-js AESencryption – >解密使用情况?

我正在试图在节点上生成一个简单的crypto-jstesting,如下所示: 'use strict'; var AES = require('crypto-js/aes'); var key = 'passPhrase'; var ecr = function(str) { return AES.encrypt(str, key); }; var dcr = function(str) { return AES.decrypt(str, key); }; console.log(dcr(ecr('hello world'))); // expected result is: hello world 实际结果是: { words: [ 1751477356, 1864398703, 1919706117, 84215045 ], sigBytes: 11 } 什么是正确的用法?

Rfc2898DeriveBytes在javascript中的等价物?

我已经看到C#代码可以使用如下代码encryption和解密密码: http://wp7-travel.googlecode.com/svn/trunk/SilverlightPhoneDatabase/Cryptography.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; using System.IO; using System.Reflection; namespace SilverlightPhoneDatabase { /// <summary> /// Class used to encrypt the database /// </summary> public static class Cryptography { /// <summary> /// Incrypt the input using password provided /// </summary> /// <param name="input">Input string to encrypt</param> /// <param name="password">Password […]

.NET和nodejs之间的AESalgorithm值差异,CryptoJS

C#中的下面的AESalgorithm返回一个不同于节点js和CryptoJS返回的encryption值。 NodeJS Crypto库和CryptoJS返回相同的值,但是.NET的AesCryptoServiceProvider返回一个不同的值。 有任何想法吗? C#示例 private const string AesIV = @"!QAZ2WSX#EDC4RFV"; private const string AesKey = @"5TGB&YHN7UJM(IK<"; public static void Main() { try { string original = "HelloWorld"; Console.WriteLine(Encrypt(original)); } catch (Exception e) { Console.WriteLine("Error: {0}", e.Message); } } /// <summary> /// AES Encryption /// </summary> private static string Encrypt(string text) { // AesCryptoServiceProvider AesCryptoServiceProvider […]

试图嘲笑github webhook请求,得到:“X-Hub-Signature不匹配blob签名”

这是一个小代理服务器设置来处理github webhooks: require('dotenv').config(); var http = require('http'); var createHandler = require('github-webhook-handler'); var handler = createHandler({ path: '/webhook', secret: process.env.GIT_WEBHOOK_SECRET }); http .createServer(function(req, res) { handler(req, res, function(err) { res.statusCode = 404; res.end('no such location'); }); }) .listen(8080); handler.on('error', function(err) { console.error('Error:', err.message); }); handler.on('push', function(event) { console.log( 'Received a push event for %s to %s', […]