python加密解密 sha256_SHA256加密和解密(Python 2.7) - 相同的词,但不同的散列

我想写一个脚本,可以加密和解密单词。但是我遇到了一个问题,无法理解它。我用来加密该代码是这样的:SHA256加密和解密(Python 2.7) - 相同的词,但不同的散列

def encrypt():

print "Enter string for encryption: \n"

rec = raw_input()

enkr =hashlib.sha256(rec).hexdigest()

print enkr

和代码我使用基于字典的解密方法是这样的:

def decrypt():

print "Enter hash for decryption: \n"

rec = raw_input()

print "Enter path of wordlist"

list = raw_input()

wordl=open(list,"r")

wordk = wordl.readlines()

for w in wordk:

w = hashlib.sha256(w).hexdigest()

if rec.lower() != w:

print "Not this " + w

elif rec.lower() ==w:

print "Found ! " + w

break

else:

print "Nothing found ! "

例如比方说,我想加密“管理”一词。我得到这个哈希8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 ,当我想解密我得到这个 fc8252c8dc55839967c58b9ad755a59b61b67c13227ddae4bd3f78a38bf394f7 和我的问题是,为什么会出现两次与相同功能的不同的哈希?最好的问候,汗

+0

基于反引号的语法用于代码格式化长度小于一行的字符串。对于多行块,在选择代码将每行缩进四个空格后,使用编辑器中的“{}”按钮,或者自己添加这些空格。 –

+2

不要描述你在做'加密'和'解密',因为它是错误的和令人困惑的。并且确保在从'readlines'出来的字符串的末尾去掉换行符,readline包含它们,raw_input不是 –

+0

SHA 256不加密。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值