MD5加密保存数据

1. 概述

  为了保证数据的隐蔽性以及处于安全方面的考虑,我们往往会将一些存入数据库的有关密码的数据使用加密的方式保存起来,其中MD5就是一种常用的加密方式

2. 加密方式

  我知道的有两种方法都可以达到加密的效果
  1. 在数据插入前加密
  2. 在插入数据时加密

2.1 在数据传入前加密
  • 步骤一:需要使用外部工具,先导入工具包
<!-- 数据加密 -->
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.10</version>
</dependency>
  • 步骤二:代码实现
@Test
public void testMD5(){
    User user = new User();
    //设置用户名
    user.setName("张三");

    //设置密码
    String pass = "123456";        //用户设置的密码是123456
    String md5pw = DigestUtils.md5Hex(pass );        //将pass使用md5加密
    //打印下密码看看
    System.out.println(md5pw);        //输出:e10adc3949ba59abbe56e057f20f883e,这就是经过md5加密后的密码
    //将其保存在user中
    user.setPass(md5pw);        
}
2.2 在插入时加密
  • 步骤一:相对来说就简单很多了,插入数据时就跟平时一样,没什么变化,也不需要导包
@Test
public void testMD5(){
    User user = new User();
    //设置用户名
    user.setName("张三");
    //设置密码
    String pass = "123456";
    user.setPass(md5pw);
    //调用service保存user
    userService.insertUser(user);
}
  • 步骤二:在mapper.xml文件中加密
    • 主要就是MD5(#{pass ,jdbcType=VARCHAR}),这句完成加密
<insert id="insertUser" parameterType="com.voion.demo.domain.User" >
    insert into user_t
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="name != null" >
        name,
      </if>
      <if test="pass != null" >
       password ,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        #{id,jdbcType=INTEGER},
      </if>
      <if test="name != null" >
        #{name,jdbcType=VARCHAR},
      </if>
      <if test="pass != null" >
        MD5(#{pass ,jdbcType=VARCHAR}),
      </if>
    </trim>
  </insert>

3. 注意事项

3.1 数据库保存的数据样式

这里写图片描述

3.2 查找数据时对于密码的判断方式要与前面存入方式一致
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel宏是一种用于自动化操作和编程的功能。MD5是一种常用的哈希加密算法,用于将数据转换为固定长度的散列值。在Excel中使用宏实现MD5加密的过程如下: 1. 打开Excel,并按下"Alt + F11"打开Visual Basic for Applications(VBA)编辑器。 2. 在VBA编辑器中,选择插入(Insert)并点击模块(Module)。 3. 在新建的模块中,编写VBA代码实现MD5加密算法。以下是一种可能的实现方式: ``` Function MD5hash(ByVal str As String) As String Dim enc As Object Dim encStr As String Set enc = CreateObject("System.Security.Cryptography.MD5") encStr = StrConv(str, vbFromUnicode) With CreateObject("System.Text.UTF8Encoding") MD5hash = Application.WorksheetFunction.EncodeBase64(enc.ComputeHash_2(.GetBytes_4(encStr))) End With Set enc = Nothing End Function ``` 4. 在VBA编辑器中保存代码,并关闭编辑器。返回Excel工作表。 5. 在一个单元格输入要加密的字符串(例如,A1单元格),然后在另一个单元格中使用函数"=MD5hash(A1)"调用自定义的MD5hash函数即可实现MD5加密。 6. 按下"Enter"键,将字符串的MD5加密结果显示在对应的单元格中。 以上步骤中的VBA代码将字符串转换为UTF-8编码后,使用MD5算法计算散列值,并将结果行Base64编码,最后传递给工作表函数。这样,字符串就被成功加密MD5值。 需要注意的是,Excel的MD5加密只适用于简单的数据加密需求,对于更高级的安全需求,建议使用专门的加密工具和算法来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值