在紅寶石加密的字符串,我使用「隱窩」方法加密的字符串,例如:在紅寶石,如何解密其通過「加密後」的方法
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功能既沒有,也不需要訪問原始明文密碼。