1. 程式人生 > 實用技巧 >使用者登入模組 - 8 使用者密碼加密後儲存

使用者登入模組 - 8 使用者密碼加密後儲存

使用者賬號相關 - 使用者密碼加密後儲存

1 工具類 MD5Util

注意:此類適合 jdk 8 ,以上版本不適用

package com.itheima.utils;

import java.security.MessageDigest;
import sun.misc.BASE64Encoder;

public class MD5Util {

    /**
     * 密碼加密
     * @param
     * @return
     * @throws Exception
     */
    public static String  md5(String password){
        try {
            //1.建立加密物件
            MessageDigest md5 = MessageDigest.getInstance("md5");
            //2.加密密碼
            byte[] by = md5.digest(password.getBytes());
            //3.建立編碼物件
            BASE64Encoder encoder = new BASE64Encoder();
            //4.對結果編碼
            return encoder.encode(by);
        }catch (Exception e){
            throw new RuntimeException(e);
        }
    }
}

2 修改業務層 UserServiceImpl

public class UserServiceImpl implements UserService {
    @Override
    public void save(User user) {
        // DaoInstanceFactory為介面動態代理工廠 且增強事務相關功能
        UserDao dao = DaoInstanceFactory.getMapper(UserDao.class);
        user.setId(UUID.randomUUID().toString());
        user.setPassword(MD5Util.md5(user.getPassword()));
        dao.save(user);
    }
}