gpt4 book ai didi

java - 我应该在 java 或 php 中转换字符串 sha1 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:18 25 4
gpt4 key购买 nike

我正在开发一个具有登录和注册功能的Android应用程序。我将数据库存储在 phpMyAdmin 中。我想将密码存储在 sha1 中。我的应用程序通过 php 与数据库通信。
我的问题是,在 phpmyadmin 中,密码列应该是什么类型? Varchar 还是 BINARY(20)?我应该将密码转换为java还是php?哪个更容易? java或php中有没有内置的方法?我应该使用其他加密吗?
我应该使用这个吗?

private static String encryptPassword(String password)
{
String sha1 = "";
try
{
MessageDigest crypt = MessageDigest.getInstance("SHA-1");
crypt.reset();
crypt.update(password.getBytes("UTF-8"));
sha1 = byteToHex(crypt.digest());
}
catch(NoSuchAlgorithmException e)
{
e.printStackTrace();
}
catch(UnsupportedEncodingException e)
{
e.printStackTrace();
}
return sha1;
}

private static String byteToHex(final byte[] hash)
{
Formatter formatter = new Formatter();
for (byte b : hash)
{
formatter.format("%02x", b);
}
String result = formatter.toString();
formatter.close();
return result;
}

格式化程序是什么类型? Java.utiljava.util.loggingandroid.text.format

最佳答案

首先您可能想查看: best-way-to-store-password-in-database

正如一些评论中提到的,您应该知道 SHA-1 已经过时了。另请注意 SHA-1 是不可逆的。因此,一旦对用户密码进行哈希处理,“就无法”恢复原始密码。

关于应在何时何地对密码进行加密或哈希处理。我会在我的 Android 应用程序中执行此操作。这样,当您通过网络发送密码时,密码就已经加密。

关于java - 我应该在 java 或 php 中转换字符串 sha1 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36185059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com