Articles of cryptojs

Angular CryptoJs Encryption在Node JS CryptoJS中没有解密

这是我的Anguarjs守则 $httpProvider.defaults.headers.common['key'] = CryptoJS.AES.encrypt('<datatoencrypt>', '<key let says xyx>=', { mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, keySize: '256 / 32' }); 节点JS代码解密使用,algorithm如aes-256-cbc和key一样angular。 app.all('*', function (req, res, next) { var headers = JSON.parse(JSON.stringify(req.headers)); var decipher = crypto.createDecipher(algorithm, key); decipher.setAutoPadding(true); var dec = decipher.update(headers.key, 'hex', 'utf8'); dec += decipher.final('utf8'); if (dec != "<datatoencrypt>") { //do something next(); } else { […]

Node.js和Mongodb安全+encryption选项的源代码

我打开这个线程,因为我很难决定我的项目有一些问题。 问题是: encryption源代码文件(不是混淆,需要可以运行的encryption)。 encryption存储在mongodb中的文档,主要是用户名和密码。 Mongodblogin – 是否可以要求用户名和密码打开连接到服务器? 一点信息:我的项目将被安装在客户服务器上,所以代码不可见并希望不可破解(最低安全性)是非常重要的。 1 – 对于第一个项目,我find了JXCORE,看起来很有前途,但是我找不到在生产中使用它的用户的certificate或评论。 任何人可以推荐其他方法? 或者如果任何人都可以查看我列出的选项,我会appriciate它。 2 – 为了encryption,我想使用AES256,我发现图书馆的crypto-js能够满足要求。 不幸的是,它不提供node.js的帮助(我找不到)。 例如,当我运行这个代码,我想看到encryption和解密的项目: var AES = require("crypto-js/aes"); var temp = AES.encrypt("Message", "secret password").ciphertext.toString(); console.log(temp); console.log(AES.decrypt(temp, "secret password")); 只显示encryption的密文,不知道如何访问解密的文本。 在旁边注意 ,有没有人推荐使用SHA3与AES256结合? 什么是确保用户名和密码mongodb DB的build议方法? 如果您在node.js中获得了crypto-js的文档链接或有用的教程,请在评论中链接。 我的JS技能不是专业人士,所以它可能在那里,我看不到它,所以如果这是一个noob线程道歉。 谢谢。

Javascriptencryption库不能encryption和解密一个简单的例子程序中的string

我正在尝试学习JavaScript,我正在学习一个教程,我想我input正确的一切,但由于某种原因,我使用cypto-js库encryption的string不能正确encryption。 我没有得到一个错误,但未encryption的string是不正确的。 我正在使用一个macintosh和“crypto-js”:“^ 3.1.5”。 这是我的示例代码。 var crypto = require('crypto-js'); var secretMessage = 'I hid the chips under the couch.'; var secretKey = '123abc'; var encryptedMessage = crypto.AES.encrypt(secretMessage, secretKey); console.log('encryptedMessage: ' + encryptedMessage); var bytes = crypto.AES.decrypt(encryptedMessage, secretKey); var decryptedMessage = bytes.toString(crypto.enc.utf8); console.log('decrpt2: ' + decryptedMessage); 这是我得到的结果 $ node example-encryption.js encryptedMessage: U2FsdGVkX180KTEpMiLEjZDSAkhNkmbBuRa9RXFwCgx6gA/PUFr+KOIv6Gr6TgIYrkfUu3F+OM/kRJ3sTTgsfg== decrpt2: 49206869642074686520636869707320756e6465722074686520636f7563682e 有人可以帮忙吗? 谢谢,Greg

PHP – 计算正确的HMAC签名为nodejs脚本

所以我正在处理一个PHP脚本,查询使用HMAC身份validation标头的API。 不过,我一直在试图正确编码HMAC签名。 我有一个预先存在的nodejs脚本作为模板工作。 在nodejs脚本中,使用以下方法计算HMAC签名: var crypto = require('crypto'); var hmac = []; hmac.secret = 'ODc0YTM3YzUxODFlMWQ1YTdhMGQwY2NiZmE1N2Y1ODdjYzM5NTgyMDJhZjVkYTE4MmQxYzQ5ODk0M2QzNWQxYw=='; hmac.timestamp = 1457326475000; hmac.path = '/account/'; hmac.message = hmac.path +'\n' + hmac.timestamp; var sig = crypto.createHmac('sha512', new Buffer(hmac.secret, 'base64')); hmac.signature = sig.update(hmac.message).digest('base64'); console.log(hmac); 这正确地计算HMAC签名为:bWjIFFtFmWnj0 + xHLW2uWVa6M6DpbIV81uyUWwRFCJUg + 0Xyt40QWZWQjGvfPUB / JbjGZHUoso0Qv5JHMYEv3A ==。 同时,在PHP中,我正在使用: <?php $hmac['secret'] = 'ODc0YTM3YzUxODFlMWQ1YTdhMGQwY2NiZmE1N2Y1ODdjYzM5NTgyMDJhZjVkYTE4MmQxYzQ5ODk0M2QzNWQxYw=='; $hmac['nonce'] = '1457326475000'; $hmac['path'] […]

CryptoJs不能解密我的NodeJS服务器上的URL

我从我的前端到我的后端转发API调用。 我使用密码“somekey”使用CryptoJS.AESencryptionAPI调用。 我的相关客户代码是… var host = 'http://localhost:3000' $('.send-button').click(function(){ var request = $('.request-input').val(); var encryptedRequest = CryptoJS.AES.encrypt(request, 'somekey'); console.log(encryptedRequest.toString()) var decryptedRequest = CryptoJS.AES.decrypt(encryptedRequest, 'somekey'); console.log('Decrypted Request: ' + decryptedRequest.toString()); handleRequest(encryptedRequest.toString()); }); var handleRequest = function(request){ $.ajax({ type: "GET", url: host + '/requests?call=' + request, success: function(data) { var rawJSON = JSON.stringify(data, null, 2); editor.setValue(rawJSON); }, dataType: […]

AES CryptoJSencryption和phpseclib解密

我有下一个问题 在Node.js上我有一个下一个代码 var iv = CryptoJS.enc.Hex.parse('00000000000000000000000000000000'); //it's for tests, later it will be dynamically generated var key256Bits = 'A5178B6A965AACF3CD60B07A15061719'; var cipher = CryptoJS.AES.encrypt( 'Some text', key256Bits, { iv: iv, padding:CryptoJS.pad.ZeroPadding } ).toString(); 然后当我尝试用phpseclib解码它 $key = 'A5178B6A965AACF3CD60B07A15061719'; $data = /*text encrypted by JS*/; $cipher = new AES(); $cipher->setKeyLength(256); $cipher->setKey($key); $res = $cipher->decrypt($data); 然后$ res变成一个空string 我做错了什么?

在Meteor中正确启用filepicker.io的安全性

Filepicker默认允许几乎每个人都可以将文件添加到您的S3存储桶中,这个存储组足够聪明,可以将您的API密钥从客户端代码中复制出来,幸运的是,还提供了一个安全选项,其中包含过期的策略。 但我不知道如何在Meteor.js中实现这一点。 试着来回安装meteor-crypto-base软件包,试图在服务器上生成哈希,在https://github.com/RGBboy/urlsafe-base64上试用了RGBboy的urlsafe-base64algorithm。 但是我只是没有进一步的了解。 也许有人可以帮忙! 先谢谢你。

如何解密CryptoJS中的AES 128(nodejs / web浏览器)

我正在使用一个nodejs服务器,并且我使用encryption节点模块成功地在Base64中encryption/解密(使用IV&Key)一个json。 然而,当我发送与我的AES 128 CTR json发射行动到一个web客户端,我收到正确的我的json base64数据encryption,但我的问题是当我不想解密这个。 在CryptoJS文档中,我find了这样一个例子: var text = "Hello world"; var key = CryptoJS.enc.Base64.parse("myKey"); var iv = CryptoJS.enc.Base64.parse("myIv"); var encrypted = CryptoJS.AES.encrypt(text, key, {iv: iv}); console.log(encrypted); // print something like that s {init: function, $super: s, ciphertext: l.WordArray.t.extend.init, key: s, iv: s…} var decrypted = CryptoJS.AES.decrypt(encrypted, key, {iv: iv}); console.log(decrypted.toString(CryptoJS.enc.Utf8)); // print Hello […]

节点密码和encryption-jsencryption和解密之间的兼容性

如何正确使用encryption模块(服务器端)和crypto-js(客户端,react-native)在node.js之间encryption/解密数据? 注意:我在一个react-native项目中使用cryptojs,因此我不能在客户端上使用encryption。 replaceencryption服务器端不是我的select。 服务器端代码: var Crypto = require("crypto"); var Cipher = { pass: "0123456789abcdef0123456789abcdef", iv: "0123456789abcdef", encript: function (msg) { try { var cipher = Crypto.createCipheriv("aes-256-cbc", this.pass, this.iv); var hash = cipher.update(msg, 'utf8', "hex"); var hex = hash + cipher.final("hex"); return hex; } catch (err) { console.error(err); return ""; } }, decript: function (hex){ try […]

使用phpseclib使用AES进行encryption,并使用CryptoJS进行解密

我想在CBC模式下使用phpseclib AESencryptionstring(库的默认值): $cipher = new Crypt_AES(); $cipher->setKey('abcdefghijklmnop'); $cipher->setIV(crypt_random_string($cipher->getBlockLength() >> 3)); $cipher->encrypt("hello world") 然后,我需要使用CryptoJS或类似的解密nodejs ..我已经尝试了不同的库,但没有运气到目前为止。 我想这个问题是有关的编码输出不同,从每个库。 有没有人有一个如何实现这个互操作性场景的工作示例? 其他库如Crypto可以使用。 一个示例Base64输出是MF9lCR4DaW1R0adIe03VEw== 所以这个想法是解密如下: var helloWorld = CryptoJS.AES.decrypt("MF9lCR4DaW1R0adIe03VEw==", key).toString();