zoukankan      html  css  js  c++  java
  • MD5加密

    MD5加密

    package test.test;
    
    import org.apache.commons.codec.digest.DigestUtils;
    
    import java.io.UnsupportedEncodingException;
    import java.security.PrivateKey;
    
    /**
     * MD5签名处理核心文件
     * */
    
    public class MD5 {
    
        /**
         * 签名字符串
         *
         * @param text
         *            需要签名的字符串
         * @param key
         *            密钥
         *            编码格式
         * @return 签名结果
         */
        public static String sign(String text, String key, String charset) throws Exception {
            text = text + key;
            System.out.println("签名字符串:"+text);
            return DigestUtils.md5Hex(getContentBytes(text, charset));
        }
    
        /**
         * 签名字符串
         *
         * @param text
         *            需要签名的字符串
         * @param key
         *            密钥
         * @param charset
         *            编码格式
         * @return 签名结果
         * @deprecated 无替代方法
         */
        public static String sign(String text, PrivateKey key, String charset) throws Exception {
            throw new UnsupportedOperationException();
        }
    
        /**
         * 签名字符串
         *
         * @param text
         *            需要签名的字符串
         * @param sign
         *            签名结果
         * @param key
         *            密钥
         * @param charset
         *            编码格式
         * @return 签名结果
         */
        public static boolean verify(String text, String sign, String key, String charset)
                                                                                          throws Exception {
            text = text + key;
            System.out.println("签名字符串:"+text);
            String mysign = DigestUtils.md5Hex(getContentBytes(text, charset));
            if (mysign.equals(sign)) {
                return true;
            } else {
                return false;
            }
        }
    
        /**
         * @param content
         * @param charset
         * @return
         * @throws java.security.SignatureException
         * @throws java.io.UnsupportedEncodingException
         */
        private static byte[] getContentBytes(String content, String charset) {
            if (charset == null || "".equals(charset)) {
                return content.getBytes();
            }
            try {
                return content.getBytes(charset);
            } catch (UnsupportedEncodingException e) {
                throw new RuntimeException("签名过程中出现错误,指定的编码集不对,您目前指定的编码集是:" + charset);
            }
        }
        
        public static void main(String[] args){
        	try {
        		String md5_sign = MD5.sign("15152200001", "mobile", "UTF-8");
    			System.out.println(md5_sign);
    			System.out.println(MD5.verify("15152200001", md5_sign, "mobile", "UTF-8"));
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
        }
    }
    

    Jar包依赖

    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>${commons-codec_version}</version>
    </dependency>
    

      

  • 相关阅读:
    性能测试基本功 手动配置nginx+phpcgi+zend+mysql
    MySQL的show full processlist命令
    LoadRunner测试Webservices的例子
    Firefox 5 公开测试下载
    Shunra 即将发布 PerformanceSuite 7.0 和NetworkCatcher 7.0
    LoadRunner常见问题
    动态生成的图片保存成png格式
    如何解决ASP.NET程序安装到繁体系统上的乱码问题
    在Ubuntu上下载、编译和安装Android最新源代码
    腾讯微博api的蛋疼问题
  • 原文地址:https://www.cnblogs.com/therunningfish/p/6322010.html
Copyright © 2011-2022 走看看