在红宝石加密的字符串,我使用“隐窝”方法加密的字符串,例如:在红宝石,如何解密其通过“加密后”的方法
STR =“123”
strencrypt = str.crypt(“aa”)
我想从strencrypt解密并获得原始字符串。我怎样才能做到这一点? 我试图再次使用隐窝方法:
str_ori = strencrypt.crypt( “AA”)
但它不能返回 “123”。
任何人都可以帮到我吗?
在红宝石加密的字符串,我使用“隐窝”方法加密的字符串,例如:在红宝石,如何解密其通过“加密后”的方法
STR =“123”
strencrypt = str.crypt(“aa”)
我想从strencrypt解密并获得原始字符串。我怎样才能做到这一点? 我试图再次使用隐窝方法:
str_ori = strencrypt.crypt( “AA”)
但它不能返回 “123”。
任何人都可以帮到我吗?
你不能。 str.crypt
是one-way hash function。
str.crypt
是一种单向加密散列。你不能解密字符串。
请参阅this question了解单向密码散列的一般情况。
你不能 - 它是单向加密。如果你想知道为什么这是有用的,一个标准的使用情况是做密码验证:
pass = "helloworld"
$salt = "qw"
$cpass = pass.crypt($salt)
def validate_pass(guess)
guess.crypt($salt) == $cpass
end
while true
puts "enter password"
pass = gets
if validate_pass(pass)
print "validated"
break
end
end
注意,validate_pass功能既没有,也不需要访问原始明文密码。