用Python编码,用Javascript解密
Encode in Python and decrypt in Javascript
我已经搜索了这个,有很多点击,但我找不到一个既不完整(将所有位放在一起)也不是说这是一个坏主意,使用 HTTP。我已经根据我发现的点击尝试了很多东西,但我无法让它工作。
目标问题是AES在一个地方加密文本数据,将其发送到Web API存储在数据库中,然后通过另一个API从数据库中检索并在浏览器中对其进行解码。这不是为了传输安全,而是如果发起者和接收者知道密钥和IV,那么它可以在服务器不知道真实内容是什么的情况下存储。
发起方代码是python,Web API是python,所以为了让最初的生活更轻松,我将未加密的内容存储在数据库中。我以前在python中做过AES加密/解密,所以这不是问题。我正在尝试做的是在内容从数据库中出来时用python加密,传输它,然后在javascript中解密。我一直在使用python'from Crypto.Cipher import AES'代码,以及来自 code.google.com 的javascript CryptoJS实现
我很高兴在这个阶段将密钥和 IV 写入代码,分发并不是真正的问题,因为发起者和客户端浏览器实际上是同一个系统。
我没有添加任何代码,因为我认为在这个阶段它会比它的价值更麻烦。
提前感谢!
好的,一些代码。在服务器 python(3) 端:
text = 'This is a message'
key = 'This is a key123'
iv = 'This is an IV456'
text += (16 - len(text) % 16) * ' ' # Pad to 16 chars, spaces are OK here
aes = AES.new(key, AES.MODE_CBC, iv)
enc = base64.b64encode(aes.encrypt(text)).decode()
print(enc)
enc 与其他数据(JSON 编码)一起传递,作为对 AJAX 请求的响应。在客户端 JavaScript 端:
enc = /* from JSON */ ;
console.log(enc) ;
key = 'This is a key123';
iv = 'This is an IV456';
text = CryptoJS.AES.decrypt(Base64.decode(enc), key,
{ iv: iv, mode: CryptoJS.mode.CBC })) ;
console.log(text)
python print(enc)和javascript console.log(env)是相同的,所以我知道b64编码的数据正在正常。 控制台.log(文本)(在Chrome中)显示为
l.WordArray.t.extend.init { ... }'
而不是"这是一条消息"。那为什么不呢!
解决了,但又是一个谜
我使用了以下要点中的代码:
https://gist.github.com/andres-erbsen/1307675
但是:这使用来自 http://crypto-js.googlecode.com/files/的代码...这不是您从 https://code.google.com/p/crypto-js/downloads/list 下载中获得的。要点代码使用Crypto.xxxx名称;下载代码使用 CryptoJS.xxxx 名称。要点已经有 2 年的历史了,CryptoJS 是否可能取代了加密货币?
- 如何解密此javascript代码
- 如何从文本区域获取数据并使用javascript进行解密
- 使用 SJCL 在 Javascript 中加密,在 PHP 中解密
- 用Python编码,用Javascript解密
- 用JavaScript加密字符串,用RSA技术用PHP解密
- 与PHP解密相匹配的Javascript加密
- javascript中的AES加密和java中的解密
- 用PHP mcrypt加密的Javascript解密Blowfish CBC
- javascript->php加密解密-需要澄清和方法请
- AES JavaScript加密和Java解密
- 使用 Python 加密并在 jQuery/Javascript 中解密
- Javascript 解密长消息 RSA
- 如何查找或解密 JavaScript:void(0) 的 URL
- 使用 JavaScript 加密字符串并从服务器端 (Java) 解密
- Javascript with SJCL lib,在 GCM 模式下解密 AES
- JavaScript 中的加密和 Ruby 中的解密
- 解密Javascript恶意软件
- 如何解密javascript代码
- 解密javascript文件
- 解密Javascript源代码