0
在我的Android应用程序中,我使用MD5散列键来保证数据访问的安全性。我使用电子邮件+时间+“后缀”字符串来生成密钥。它运作良好。但问题是,当我使用至少有一个加号(+
)的电子邮件地址(例如[email protected]
)时,服务器正在返回“不正确的访问密钥”消息。我注意到它正在使用减号(-
),下划线(_
)等签名的电子邮件地址,但它不适用于具有加号(+
)符号的电子邮件地址。我生成MD5哈希键使用这种方法:为什么MD5哈希键与php生成的MD5哈希键不匹配?
public static String MD5_Hash(String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest
.getInstance("MD5");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < messageDigest.length; i++) {
String h = Integer.toHexString(0xFF & messageDigest[i]);
while (h.length() < 2)
h = "0" + h;
hexString.append(h);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
什么是源? md.update(来源)?? – TKumar 2012-07-24 10:51:13