首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python加密与JSEncrypt不同吗?

python加密与JSEncrypt不同吗?
EN

Stack Overflow用户
提问于 2017-12-29 09:18:14
回答 2查看 1.5K关注 0票数 1

我正在用python写爬虫。该网站使用JSEncrypt加密密码。JS代码如下:

代码语言:javascript
复制
var pubkey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDB3Xn/+WP5OVbA8hCj3zuTlqAJ+CVt5UPHi1TYTbsBzEZ0W0+tgn9YElA9hNIi5ElFTicpGCYW4w+B2zmniSLKy3sqItT1wNCt6zGJ7lkUCkhLSIY4mp9Tqs8hn01/3HNnqDRBPhFcmA99Vy+SOoTUvCOUMiGp4ENruyxkvEp5vwIDAQAB"
var encrypt = new JSEncrypt();
encrypt.setKey(pubkey)
encrypt.encrypt("123")

我的python代码是:

代码语言:javascript
复制
from Crypto.Cipher import PKCS1_v1_5
from Crypto.PublicKey import RSA
import base64
pubkey = '''-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDB3Xn/+WP5OVbA8hCj3zuTlqAJ
+CVt5UPHi1TYTbsBzEZ0W0+tgn9YElA9hNIi5ElFTicpGCYW4w+B2zmniSLKy3sq
ItT1wNCt6zGJ7lkUCkhLSIY4mp9Tqs8hn01/3HNnqDRBPhFcmA99Vy+SOoTUvCOU
MiGp4ENruyxkvEp5vwIDAQAB
-----END PUBLIC KEY-----'''
rsa_key = RSA.importKey(pubkey)
cipher = PKCS1_v1_5.new(rsa_key)
print base64.b64encode(cipher.encrypt("123"))

但他们的结果不同。另外,我发现这些代码每次调用都会产生不同的加密输出。使用相同的键和明文,rsa算法不应该返回相同的输出吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-29 09:36:44

尝试运行两次JSEncrypt,输出是否相同?

从理论上讲,每次产出都应该是不同的。

https://stackoverflow.com/a/16329374

票数 1
EN

Stack Overflow用户

发布于 2021-09-14 19:10:34

不专注于比较结果它将不一样的,它是不同的每次运行加密。像这样修改,如果结果不一样的话,应该是工作事件,

代码语言:javascript
复制
print base64.b64encode(cipher.encrypt(b'123')).decode()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48020194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档