`
guoyulong005
  • 浏览: 31894 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

http请求MD5参数验证

阅读更多
public static boolean check(HttpServletRequest request){
Map<String, String[]> map = request.getParameterMap(); 
        Set<Entry<String, String[]>> set = map.entrySet(); 
        Iterator<Entry<String, String[]>> it = set.iterator(); 
        String sign = "";
        Map<String,String> pras = new HashMap<String, String>();
        List<String> keys = new ArrayList<String>();
        while (it.hasNext()) { 
            Entry<String, String[]> entry = it.next();
            String key = entry.getKey().trim();
            String value = entry.getValue()[0];
            if(!"sign".equals(key)){
            if(value==null) value = "";
            keys.add(key);
            pras.put(key, value.trim());
            }
            if("sign".equals(key)) sign = value;
        }
        Collections.sort(keys);
        StringBuffer bf = new StringBuffer();
        for(int i=0;i<keys.size();i++){
        bf.append(keys.get(i)).append("=");
        try {
bf.append(URLEncoder.encode(pras.get(keys.get(i)),"utf-8")+"&");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
        }
        bf.append("key=").append(Global.getConfig("httpMD5Key").trim());
        logger.info("待签名字符串:"+bf.toString()+"  sign:"+sign + "  MD5:"+MD5.GetMD5Code(bf.toString()));
        if(sign.equals(MD5.GetMD5Code(bf.toString()))){
        return true;
        }
return false;
}
分享到:
评论

相关推荐

    MD5Encode签名加密文件

    在本场景中,"MD5Encode签名加密文件"指的是使用MD5算法对数据进行编码并生成签名的过程,这通常与软件安全、数据验证和防止篡改有关。在小程序的开发中,签名机制是确保应用安全性和数据完整性的重要手段。 MD5...

    js-md5-0.7.3.zip

    3. 数据签名:在前后端交互中,可以通过MD5对请求参数进行哈希,生成签名,防止数据被篡改。 五、注意事项 尽管MD5在很多场景下仍然适用,但其安全性已受到质疑,因为它容易产生碰撞,即不同的输入可能会得到相同的...

    jquery.md5.js

    还可以用于API接口的安全,通过MD5对请求参数进行签名,防止中间人攻击。 然而,值得注意的是,尽管MD5在很多场景下表现良好,但它已不再被视为足够安全的加密算法,因为存在已知的碰撞攻击方法。在处理敏感信息时...

    SpringBoot控制器统一的响应体编码/加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA

    - **MD5(Message-Digest Algorithm 5)**:非对称加密算法,主要用于生成固定长度的摘要,通常用于验证数据完整性,不适合加密数据。 - **SHA(Secure Hash Algorithm)**:与MD5类似,用于生成哈希值,不适用于...

    java接口 参数MD5加密.zip

    DemoHttpAPI可能会包含一个或多个HTTP API接口,每个接口在处理请求前先调用MD5Utils对参数进行加密,然后使用Tools进行参数校验,最后根据校验结果返回相应的响应,可能是正常的业务数据,也可能是...

    前端MD5加密使用到的js

    `md5.js`库的使用方法通常是引入该库,然后调用提供的函数,如`hex_md5()`或`binary_md5()`等,将需要加密的字符串作为参数传入。例如: ```javascript var md5 = require('md5.js'); var encrypted = md5.hex_md5...

    post参数加密请求.rar

    4. **哈希函数**:如MD5(Message-Digest Algorithm 5)或SHA(Secure Hash Algorithm)系列,用于生成数据的唯一标识,通常用于验证数据完整性,但不适用于加密,因为它是不可逆的。 5. **签名算法**:结合非对称...

    java实现Md5加盐加密算法

    对接接口时用到的一种常用加密算法,常用于验证签名,使用shiro-all-1.4.1.jar,可自行下载

    MD5加密+签名算法Sign生成 工具类

    此工具类的使用方法可能包括静态方法,只需传入相应的参数(如原始数据、秘钥等),即可得到加密后的MD5值或生成的签名。它可能还提供了异常处理机制,确保在遇到错误时能给出清晰的错误提示。 为了更好地理解和...

    md5.zip_asp上传文件md5_md5_md5.asp

    描述中提到“得到的参数=md5(参数)”,这表明在ASP中,我们将对某个参数(可能是文件内容或用户输入)调用MD5函数进行加密。在ASP中,可以使用内置的Response对象或第三方库来实现MD5哈希计算。 例如,如果你使用...

    jquery.js和jquery.md5.js进行md5加密

    4. **签名验证**:在API调用中,服务端可能会提供一个基于请求参数的MD5签名,客户端计算并提交相同的签名以验证请求的合法性。 总的来说,jQuery.js和jQuery.md5.js的结合使用,使得在JavaScript环境中实现MD5加密...

    前段实现MD5加密技术所需js脚本

    - 数据签名:在API请求中,前端可以将请求参数与一个密钥进行MD5运算,生成签名,服务器端通过同样的方式验证签名,防止数据篡改。 4. **注意事项**: - MD5的安全性:MD5存在碰撞问题,即不同的数据可能产生相同...

    利用MD5算法进行加密字符串

    `getInstance()`方法接收一个字符串参数,表示所请求的摘要算法名称,在这里为“MD5”。 ##### 2. 计算摘要 ```java byte[] results = md.digest(originString.getBytes()); ``` 使用`digest()`方法对原始字符串...

    js md5 加密

    - **API请求**:在API请求中,可以用MD5加密参数来验证请求的合法性,防止中间人攻击。 5. **安全性考虑**:由于MD5的碰撞漏洞(即不同的输入可能产生相同的哈希值),在安全性要求较高的场合,MD5已不再推荐使用...

    验证码代码与md5加密和分页代码

    在IT行业中,验证码、MD5加密以及分页是常见的编程技术,主要应用于网站的安全和用户体验优化。SSH(Struts2 + Spring + Hibernate)是一个流行的Java Web开发框架,它整合了这三个技术来构建高效且安全的Web应用。...

    如何在Java Servlet的md5中解密请求参数?

    在标题和描述中提到的“解密MD5请求参数”实际上可能指的是验证经过MD5加密的密码是否与数据库中存储的哈希值匹配。 在Java Servlet中处理这个过程通常分为以下几个步骤: 1. **获取请求参数**:使用`...

    WebApi 使用TOKEN+签名验证

    - **签名生成**:客户端在构建请求时,将所有请求参数(如GET的查询字符串或POST的请求体)按照特定顺序拼接成字符串,然后用私钥进行哈希运算,生成签名。 - **签名传递**:将签名作为请求的一部分发送给服务器,...

    支付宝签约 即时到账asp+md5版本

    2. MD5签名:对所有参数进行排序,然后结合商户私钥进行MD5加密,生成签名字符串。 3. 构造请求URL:将签名和其他参数拼接成支付宝接口所需的请求格式。 4. 发送请求:通过HTTP POST方式将请求发送到支付宝服务器。 ...

    接口签名算法设计、MD5签名算法

    它通过在请求参数中添加一个特定的签名字段,这个字段由特定算法处理后生成,接收方可以使用相同的算法和密钥对签名进行验证,以确认数据的完整性和发送者的身份。 MD5(Message-Digest Algorithm 5)是一种广泛...

    Go-GolangHttpAPI签名验证工具包提供对API请求的签名生成签名校验等工具类

    - **哈希算法**:签名通常基于请求参数和一个密钥,通过哈希函数(如MD5、SHA-1、SHA-256)计算出固定长度的摘要。Go中的`crypto`库提供了多种哈希算法供开发者选择。 - **排序参数**:为了确保相同请求的签名一致...

Global site tag (gtag.js) - Google Analytics