【发布时间】:2023-03-10 22:12:01
【问题描述】:
如何在 python 中验证 RSA 私钥(PEM 格式)的密码? 我想蛮力使用我自己的字典。
我在 MacOS 中通过这个命令创建了密钥:
ssh-keygen -t rsa -C "your_email@example.com"
私有 RSA 密钥详细信息:
强度:2048 位
算法:RSA
尺寸:2048
指纹
SHA1:80 09 90 30 96 8E 24 FC A9 4B 46 E1 BE B7 23 2D EC 16 2C EB
SHA256:67 93 E2 0A 9F E7 C9 7E A9 66 AD 05 52 FD 19 8B 3E CB 8A 59 9F 51 F0 A6 65 6F 6F 9A 9D 7B 35 B9
密码是:'testing'
正如@Hannu 建议的那样,我运行了这段代码,但它拒绝了正确和错误的密码短语
from Crypto.PublicKey import RSA
kf = open("testing", "r")
kt = kf.read()
kf.close()
dlist = ["foo", "bar", "testing"]
for d in dlist:
try:
nk = RSA.importKey(kt, passphrase=d)
print "success", d
break
except ValueError:
print "nosuccess", d
pass
【问题讨论】:
-
使用了哪种加密算法来创建您的私钥?您可以在 pem 文件中看到它。
-
@Hannu 您在寻找这些数据 ==> 算法:RSA 和大小:2048 还是其他?
-
您能否发布您的私钥文件的第一行?我尝试用 ssh-keygen 生成一个 pem 密钥,然后用 pyCrypto 打开它,但它失败了,因为密钥是 AES 加密而不是 DES,而且 pyCrypto 似乎由于某种原因失败了。
-
... 或者更确切地说,使用关键信息修改您的原始帖子。
-
@Hannu 我做到了。是你要找的东西吗?
标签: python rsa brute-force passphrase