zoukankan      html  css  js  c++  java
  • 18 MD5加密

           1. MD5概述

                  MD5是一种加密算法。可以用于数据加密、文件快传、文件校验 、数据压缩等方面。

                  MD5还被称之为数据摘要算法,或数据指纹算法。 

                  a. 特点:

                         i. 经过加密后的数据,是不可破译的,无法得到原有的明文内容。

                         ii. 经过加密的数据,都是128位2进制数据组成。通常会把它书写成32位16进制数据。

                         iii. 任何形式的数据,经过加密之后,都会变为二进制数据,长度为32位16进制数据。

                         iv. 同一份数据经过md5加密之后,一定会得到同一个结果。

           2. MD5密码数据库中的数据

                  数据库中的密码, 使用,这是mysql数据库自带的一个函数

                  update user set password = md5(password);

                 

                  在数据库加密之后,代码中的密码也应当加密,否则就会出现明文密码与密码密码做判断的情况,永远无法匹配。

    创建MD5Utils工具类:

    package com.easymall.utils;
    
    import java.math.BigInteger;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class MD5Utils {
        /** * 使用md5的算法进行加密 */
        public static String md5(String plainText) {
            byte[] secretBytes = null;
            try {
                secretBytes = MessageDigest.getInstance("md5").digest(
                        plainText.getBytes());
            } catch (NoSuchAlgorithmException e) {
                throw new RuntimeException("没有md5这个算法!");
            }
            String md5code = new BigInteger(1, secretBytes).toString(16);
            for (int i = 0; i < 32 - md5code.length(); i++) {
                md5code = "0" + md5code;
            }
            return md5code;
        }
    }

    使用

  • 相关阅读:
    Mysql一套完整练习题
    Ubuntu kylin优麒麟下配置Hive环境
    win10解决无法远程桌面连接问题(参考)
    OSI七层模型的工作协议划分
    20201116-每日一题
    20201115-福州大学-助教-周总结-第9次
    2020年11月学习记录
    20201104-福州大学-助教-周总结-第7次
    2020年10月学习记录
    20201025-福州大学-助教-周总结-第6次
  • 原文地址:https://www.cnblogs.com/xuwangqi/p/11383203.html
Copyright © 2011-2022 走看看