登录功能使用Base64进行加密(解密) ---jsp页面以及servlet页面。(废了。不安全。。。。。)

使用Base64在服务器端进行加密:
String 加密后的字符串 Base64.getEncoder().encodeToString(“需要加密的字符串”.getBytes());

byte[] 解密后的byte数组 Base64.getDecoder().decode(“需要解密的字符串”);

String 解密后的字符串 = new String(解密后的byte数组);

使用jquery.base64.js在jsp页面进行解密:
1.需要先导入jquery.base64.js ,以及jQuery文件。
var 解密后的字符串 = $.base64.decode(加密后的字符串);

登录案例记住密码功能:(数据进行加密)
服务器端进行加密

UserServiceImpl userService = new UserServiceImpl();
Admin loginAdmin = userService.login(admin.getUsername(), admin.getPassword());
// 登录成功后才需要记住密码
if (loginAdmin != null){
    // 如果checkbox不为空,证明用户勾选了记住密码
    if (checkbox != null){
        // 创建俩个cookie ,响应cookie给浏览器,浏览器端可以过去cookie信息,保存到本地,
        // 获取username&password 然后将其加密
        String username_before = loginAdmin.getUsername();
        String password_before = loginAdmin.getPassword();
        String username_after = Base64.getEncoder().encodeToString(username_before.getBytes());
        String password_after = Base64.getEncoder().encodeToString(password_before.getBytes());

        // 将加密后的账号密码设置在cookie中
        Cookie username = new Cookie("username",username_after);
        Cookie password = new Cookie("password",password_after);
        // 设置cookie存活时间
        username.setMaxAge(60*60*30);
        password.setMaxAge(60*60*30);
        System.out.println(username_after);
        System.out.println(password_after);
        // 将cookie响应给浏览器
        response.addCookie(username);
        response.addCookie(password);
    }else {
        // 创建俩个cookie ,响应cookie给浏览器,浏览器端可以过去cookie信息,保存到本地,
        // 获取username&password 然后将其加密
        String username_before = loginAdmin.getUsername();
        String password_before = loginAdmin.getPassword();
        String username_after = Base64.getEncoder().encodeToString(username_before.getBytes());
        String password_after = Base64.getEncoder().encodeToString(password_before.getBytes());
        // 没有点击记住密码,删除cookie
        Cookie username = new Cookie("username",username_after);
        Cookie password = new Cookie("password",password_after);
        username.setMaxAge(0);
        password.setMaxAge(0);
        response.addCookie(username);
        response.addCookie(password);
    }
    // request域中不需要共享数据,使用重定向
    request.getSession().setAttribute("admin",loginAdmin.getUsername());
    response.sendRedirect(request.getContextPath() + "/index.jsp");
}else {
    System.out.println(userService);
    request.setAttribute("error_msg","您的账号或者密码输入有误!");
    // 如果错误给出提示,转发页面到/login.jsp
    request.getRequestDispatcher("/login.jsp").forward(request,response);
}

jsp页面 进行解密
1.需要先导入jquery.base64.js ,以及jQuery文件。

window.onload = function () {
    var username_before = cookie.getCookie("username");
    var password_before = cookie.getCookie("password");

    var decode_username = $.base64.decode(username_before);
    var decode_password = $.base64.decode(password_before);
    
    var ele_username = document.getElementById("username");
    ele_username.value = decode_username;

    var ele_password = document.getElementById("password");
    ele_password.value = decode_password;


};	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值