zoukankan      html  css  js  c++  java
  • Ajax 请求参数过多导致 400 错误 and BCryptPasswordEncoder 加密判断

    2019/06/19

    先分享一种密码加密方式;

    Spring Security 提供了

    BCryptPasswordEncoder类,

    实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。

    BCrypt强哈希方法 每次加密的结果都不一样。

    除了加密以外还能比较密码

    加密:
    
    BCryptPasswordEncoder encode = new BCryptPasswordEncoder();
    encode.encode(password);
    判断:
    
    需要通过自带的方法 matches 将未经过加密的密码和已经过加密的密码传进去进行判断,返回布尔值。
    
    encode.matches(oldpassword,user1.getPassword());

    下面再看Ajax请求问题

    post方式是由无限制的,而url是有限制的,那么就将url与传递的参数分开。

    第一种方法 使用原生态的aiax的post

    //创建请求
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        }
        else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //指定链接和参数
        xmlhttp.open("POST", "/DLWeb/api/WbsNode/EditPMLog?", false);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");//指定header
        xmlhttp.send(par);
        //响应请求
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {//成功
                if (xmlhttp.responseText == "true")
                {
                    alert("成功");
                }
                else {//失败
                    alert("失败");
    
                }
               
            }
           
        }

    第二种方法 使用 ajax简化版请求方式

    $.post or $.get

    格式为

    $.请求方式(请求地址,数据,成功回调方法);

    请求地址不能省略,其他两个都可以省略,按照自己需求写。

  • 相关阅读:
    移动应用调试之Inspect远程调试
    使用Stickers拓展集成iMessage简单功能
    iOS 在工程内部创建一个静态库target
    Xcode10 library not found for -lstdc++ 找不到问题
    git 操作规范
    java里面jre版本过低怎么修改
    java实现滑动列表找到目标并且选择
    java实现获取toast弱提示
    查询语句集合
    java-clienk 实现获取手机应用设备信息
  • 原文地址:https://www.cnblogs.com/c-c-c-c/p/11049685.html
Copyright © 2011-2022 走看看