我需要哈希密码以存储在数据库中.我怎么能用Java做到这一点?
我希望获取纯文本密码,添加随机盐,然后将salt和散列密码存储在数据库中.
然后,当用户想要登录时,我可以获取他们提交的密码,从他们的帐户信息中添加随机盐,哈希并查看它是否等于存储的哈希密码及其帐户信息.
我是加密算法方面的新手,我正在尝试创建 SHA-512 将此变量数据转换为 SHA-512,以便我可以将其传递到我的项目中的服务器中,任何帮助将不胜感激。
if (pojo.getAmount() != null && !pojo.getAmount().equals("")) {
//Data variables needs to convert in SHA-512
hsString = merchantID + "" + "" + req_id + "" + ip_address + ""
+ notication_url + "" + package_name + "" + firstname + "" + lastname + ""
+ middlename + "" + address1 + "" + address2 + "" + city + "" + state + ""
+ country + "" + zip + "" + email + …
Run Code Online (Sandbox Code Playgroud) 我想知道我是否可以在没有盐的情况下在Android Studio上使用SHA-512哈希字符串.
我已经看到了其他问题,但它们都涉及到了salt
,但我想要这样的事情:
TestBox.text = sha512("Hello, world!");
Run Code Online (Sandbox Code Playgroud)
并TextBox
会读c1527cd893c124773d811911970c8fe6e857d6df5dc9226bd8a160614c0cd963a4ddea2b94bb7d36021ef9d865d5cea294a82dd49a0bb269f51f6e7a57f79421
;
我正在尝试将 sha-512 计算从 java 迁移到 Node JS,但我似乎无法获得相同的结果......
Java代码(从我在网上看到的看起来是标准的):
public class Test
{
private static String get_SecurePassword(String passwordToHash, String salt, String algo) throws NoSuchAlgorithmException
{
String generatedPassword = null;
MessageDigest md = MessageDigest.getInstance(algo);
md.update(salt.getBytes());
byte[] bytes = md.digest(passwordToHash.getBytes());
StringBuilder sb = new StringBuilder();
for (int i = 0; i< bytes.length; i++) {
sb.append(Integer.toString((bytes[i] & 0xff) + 0x100, 16).substring(1));
}
generatedPassword = sb.toString();
return generatedPassword;
}
public static void main(String[] args) throws NoSuchAlgorithmException
{
String res = get_SecurePassword("test", "test", "SHA-512"); …
Run Code Online (Sandbox Code Playgroud)