小编Gre*_*ain的帖子

如何在 CryptoJS(nodejs/Web 浏览器)中解密 AES 128

我正在使用 nodejs 服务器,并且我使用加密节点模块成功加密/解密(使用 IV 和密钥)Base64 中的 json。

但是,当我将带有 AES 128 CTR json 的发送操作发送到 Web 客户端时,我正确收到了带有 base64 数据加密的 json,但是我的问题是我不想解密它。

在 CryptoJS 文档中,我找到了一个这样的例子:

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 world
Run Code Online (Sandbox Code Playgroud)

我们可以轻松解密“Hello world”,因为它是由我的 Web 客户端中的 CryptoJS 加密的。但我的问题是我想解密不使用 CryptoJS 加密系统的数据。

我想做这样的事情:

var …
Run Code Online (Sandbox Code Playgroud)

javascript json cryptography node.js cryptojs

1
推荐指数
1
解决办法
1万
查看次数

仅使用socket-io和Web客户端(socket io js)进行安全交换

我在debian 8 VM上使用openssl创建了SSL证书.所以我有一个PEM文件,其中包含我的密钥和我的证书.

我想知道是否可以使用没有https,express等的SSL证书,只需使用具有套接字IO(服务器端)和套接字IO客户端(客户端)的体系结构.

服务器端 :

var fs          = require("fs")
,   options     = {
    key     : fs.readFileSync('./test/apache.pem'),
    cert    : fs.readFileSync('./test/apache.pem')
}

var io = require('socket.io').listen(45621, options)

io.sockets.on("connection", function(socket) {
    console.log("socket " + socket.id + " connected !")
})
Run Code Online (Sandbox Code Playgroud)

客户端:(我使用的是简单的html客户端)

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="socket-io-1-2-1.js"></script>
<script>
    var socket = io.connect('https://localhost:45621', {secure: true})
    socket.on("connect", function() { alert("we are connected to socket io!") })
</script>
Run Code Online (Sandbox Code Playgroud)

当我运行我的客户端页面时,我会自动收到关闭连接.(网:: ERR_CONNECTION_CLOSED)

如果我删除服务器端的SSL选项并更改我的客户端连接,它可以工作:

 io.connect("http://localhost:45621")
Run Code Online (Sandbox Code Playgroud)

但交流不安全?

编辑:是不是重复这个,因为我不希望使用HTTP,HTTPS,通过createServer方法表达.我只使用socket io.

ssl pem node.js socket.io

1
推荐指数
1
解决办法
1928
查看次数

标签 统计

node.js ×2

cryptography ×1

cryptojs ×1

javascript ×1

json ×1

pem ×1

socket.io ×1

ssl ×1