实现登录口令密态存储和身份认证

目前共有三种角色:管理员、单位、员工,其信息包括口令均为明文存储,不安全

目前正在尝试用SHA-256算法加密password后再存储进数据库,思路如代码所示

<%@ page import="java.security.MessageDigest" %>
<%@ page import="java.math.BigInteger" %>
<%
    String password = request.getParameter("password");
    MessageDigest md = MessageDigest.getInstance("SHA-256");
    md.update(password.getBytes());
    String encryptedPassword = new BigInteger(1, md.digest()).toString(16);
    // 将加密后的密码存储在数据库中
%>

上述代码能将password转为密文

尝试了一下自己写的报错比较多,最后调用DigestUtil.sha256Hex去实现了

String password=DigestUtil.sha256Hex(request.getParameter("password")!=null?request.getParameter("password"):"");

现在已经能实现password在数据库中密文存储,用户持明文口令登录功能了

新添加的用户在数据库中也是密文存储口令

且管理员并不能直接得知用户的明文口令,如果用户忘记口令,则需要重置

目前问题:

  • 对于上一级管理员如何管理下一级用户的password,还有些细节没处理好,还在修整中
posted @   头发换代码  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示