簡體   English   中英

Android和Javascript中相同字符串的哈希值不同

[英]Hash value of same string is different in Android and Javascript

對於SHA-256,在Javascript和Android中,同一字符串的哈希值不同:

JavaScript代碼:

var hashedPassword = CryptoJS.SHA256(userPassword);
var passwordText = hashedPassword.toString(CryptoJS.enc.Base64);

Android代碼:

MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
byte[] hashedPassword = messageDigest.digest(userPassword.getBytes());
String hashedPasswordText = Base64.encodeToString(hashedPassword, Base64.DEFAULT).trim();

字符串“ beast”的輸出:

在Javascript中:

1bf417bd87162d5d77a5ce3259e81bdee9f8a0ef56bc0f12eadcd5805a94b708

在Android中:

G/QXvYcWLV13pc4yWegb3un4oO9WvA8S6tzVgFqUtwg=

根據此答案, CryptoJS.enc.Base64需要另一個組件。 如果找不到,則默認為十六進制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM