为保证用户信息安全,系统在保存用户信息的时候,务必要将其密码加密保存到数据库。
需要使用密码的时候,取出数据,解密处理即可。
避免保存明文密码。
package com.tnt.util;
import java.security.MessageDigest;
/**
* <p>
* Title:
* </p>
* <p>
* Description:
* </p>
* <p>
* Copyright: Copyright (c) 2003
* </p>
* <p>
* Company:
* </p>
*
* @author unascribed
* @version 1.0
*/
public class StringUtil {
private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
/**
* 转换字节数组为16进制字串
*
* @param b
* 字节数组
* @return 16进制字串
*/
public static String byteArrayToHexString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
resultSb.append(byteToHexString(b[i]));
}
return resultSb.toString();
}
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n = 256 + n;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
public static String MD5Encode(String origin) {
String resultString = null;
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
resultString = byteArrayToHexString(md.digest(resultString
.getBytes()));
} catch (Exception ex) {
}
return resultString;
}
public static void main(String[] args) {
System.err.println(MD5Encode("123456"));
}
}
分享到:
相关推荐
`updateUserPassword()`方法则模拟了更新用户密码的过程,首先调用`encryptPassword()`方法对新密码进行加密,然后设置到`User`对象的`password`字段,最后保存到数据库。 为了增加安全性,通常会结合加盐(Salt)...
标题中的“RsaCrypto 数据库用户密码加密”指的是使用RSA加密算法来保护数据库中的用户密码。RSA是一种非对称加密算法,它使用一对密钥,一个用于加密,另一个用于解密,增强了数据的安全性。在数据库场景下,密码...
在登录场景中,JSP通常用于接收用户的输入,如用户名和密码,然后通过请求转发或包含动作将控制传递给后台处理器。 2. Struts框架:Struts是基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它...
在实际应用中,密码通常会进行加密存储,而不是明文保存。此外,为提高安全性,应该避免在SQL查询字符串中直接拼接用户输入,以防SQL注入攻击。 这个项目可能还包括一个用户界面,比如使用Java Swing或JavaFX创建...
本文将深入探讨一个基于Java实现的密码管理器,它利用AES(高级加密标准)加密算法来安全地存储和检索用户密码。主密码被用作导出加密密钥,确保只有知道主密码的用户才能访问他们的密码信息。 **AES加密** AES...
在本Java实验作业中,学生将运用Swing库来构建用户界面,并结合MySQL数据库实现一套基本的用户管理系统,包括登录、注销、注册以及密码修改功能。这个项目旨在帮助学习者理解如何将后端数据库操作与前端图形用户界面...
1. JDBC:Java数据库连接(JDBC)是Java平台的标准API,用于连接Java应用程序和各种类型的数据库,包括MySQL。在Doc-Generator中,JDBC驱动被用来建立与MySQL服务器的连接,执行SQL查询获取表结构信息。 2. ...
接着,在这个数据库中创建一个表`users`,包含以下字段:`id`(主键,整型,自动增长)、`username`(字符串类型,用于存储用户名)和`password`(字符串类型,存储加密后的密码)。确保为每个字段设置适当的约束和...
根据提供的文件信息,我们可以提取并总结出关于“JAVA加密MD5源代码”的一系列知识点: ### MD5算法简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,能够将任意长度的消息压缩为一个固定...
在Java编程环境中,修改用户密码通常涉及到Web应用的后端逻辑处理,这通常与数据库交互密切相关。本场景中,我们关注的是使用Java、JSP(Java Server Pages)以及MySQL数据库来实现用户密码的修改功能。以下是一份...
在IT领域,用户管理系统是应用程序不可或缺的一部分,而“修改旧密码”是用户管理中的常见功能。这个任务描述了一个使用Swing构建的Java小程序,目的是帮助用户更新他们的密码。Swing是Java提供的一种图形用户界面...
2. 加密密码:使用生成的密钥,通过特定的加密算法(如AES)将数据库的原始密码加密成一串不可读的密文。这个密文可以安全地保存在配置文件中,因为即使被获取,没有正确的密钥也无法还原出原始密码。 3. 配置文件...
Druid是阿里巴巴开源的一个数据库连接池组件,它不仅提供了强大的监控和扩展功能,还考虑到了安全性问题,例如对数据库密码的加密。在配置Druid时,直接在配置文件中明文写入数据库密码会存在安全风险,因此Druid...
"学生成绩管理系统"是一个基于Java编程语言,利用MySQL数据库进行数据存储,并通过图形用户界面(GUI)提供用户交互的项目。这个系统旨在方便教育机构管理学生的成绩信息,包括录入、查询、修改和保存等操作。以下是...
Swing是Java标准库中的一个组件集合,用于创建桌面应用的用户界面,它提供了丰富的功能和自定义选项,使得开发者可以构建出美观且功能齐全的应用程序。在这个项目中,Swing被用来构建图形化用户界面(GUI),为用户...
在Java方法中,可以看到几个关键参数,如`userName`(用户名)、`passWord`(密码)、`dataBaseName`(数据库名)、`address`(保存地址)和`name`(数据库保存名称)。这些参数用于构造DOS命令,以便正确地执行...
在Oracle数据库中,设计合理的数据库模式以存储用户信息,比如创建一个包含用户ID、用户名、加密后的密码和其他可能的用户属性(如邮箱、电话等)的用户表。此外,还可能需要考虑表间的关系,如用户角色与权限的关系...
在Android平台上进行应用开发时,有时我们需要保存用户的登录凭证,比如QQ密码,以便用户下次打开应用时能够自动登录或快速登录。本项目“android实战 保存QQ密码”提供了一个使用Android Studio开发的基础案例,...
`authentication-manager`和`authentication-provider`用于指定自定义的用户详情服务(UserDetailsService),这样可以从数据库中检索用户信息。 24.4. 自定义UserDetailsService 为了将用户信息和角色存储在...