md5增加指定的加密规则,进行加密


import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import org.springframework.util.StringUtils;

public class MD5 {
    private static final String ALGORITHM = "MD5";

    public MD5() {

    }

    /**md5的UTF-8编码加密.
    * @param text 待加密的文本
    * @return 加密后统一转成大写的文本
    * @version v1.0.0
     */
    public static String encrypt(String text) {
        byte[] hash;
        try {
            MessageDigest digest = MessageDigest.getInstance(ALGORITHM);
            hash = digest.digest(text.getBytes("UTF-8"));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return null;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            return null;
        }
        StringBuilder hex = new StringBuilder(hash.length * 2);
        for (byte b : hash) {
            if ((b & 0xFF) < 0x10)
                hex.append("0");
            hex.append(Integer.toHexString(b & 0xFF));
        }
        String md5 = hex.toString();
        md5 = md5.toUpperCase();
        return md5;
    }

    /**md5的UTF-8编码加密.
    * @param text 待加密的文本
    * @param key 校验字符串
    * @return 加密后统一转成大写的文本
    * @version v1.0.0
     */
    public static String encrypt(String text, String key) {
       if(StringUtils.isEmpty(key)){
           return null;
       }
       return encrypt(new StringBuilder(text).append(key).toString());
    }

    public static void main(String args[]) {
        System.out.println(encrypt("中国", "123"));
        System.out.println(encrypt("12345611"));
        System.out.println(encrypt("123456","11"));
    }
}
时间: 2024-11-06 14:23:27

md5增加指定的加密规则,进行加密的相关文章

mysql8.0新增用户及密码加密规则修改

MySQL8.0已经发布GA版,当前最新GA版本为8.0.12.虽然相对于之前版本,MySQL8.0没有加入新元素,但是,经过代码重构,MySQL8.0的优化器更加强大,同时也有一些新特性,如支持索引隐藏等. 但是,MySQL新版本中也有很多与先前版本不一样的地方,比如在用户创建上就有很多变化. 1. 用户创建 创建用户的操作已经不支持grant的同时创建用户的方式,需先创建用户再进行授权 mysql> grant all on *.* to 'admin'@'%' identified by

MD5加密和RSA加密

1.MD5加密  MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),MD5算法的使用不需要支付任何版权费用. MD5的功能:     ①.输入任意长度的信息,经过处理,输出为128位的信息(数字指纹):    ②.不同的输入得到的不同的结果(唯一性):    ③.根据128位的输出结果不可能反推出输入的信息(不可逆),也就是只能加密,不能解密:  MD5的用途:     1.防止被篡改:    1)比如发送一个电子文档,发送前,我先得到MD5的

AES加密解密,自定义加密规则记录

package com.jx.utlis; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Scanner; impor

ASP.NET实现MD5加密和SHA1加密

MD5加密和SHA1加密的命名空间是在using System.Web.Security; /// <summary> /// 返回加密字符串 /// </summary> /// <param name="content">要加密的字符串</param> /// <param name="Type">加密类型,默认MD5,其它值SHA1</param> /// <returns>&

C#加密方法汇总(SHA1加密字符串,MD5加密字符串,可逆加密等)

using System;using System.Collections.Generic;using System.Text; namespace StringEncry{ class EncodeAndDecode { /// <summary> /// Base64加密 /// </summary> /// <param name="codeName">加密采用的编码方式</param> /// <param name=&qu

MD5加密,Base64加密/解密,AES加密/解密

1.从github上下载GTMBase64-master和AESCrypt-ObjC-master导入工程,如下图所示. 2.使用前的配置及注意事项: (1) 在build phases中的GTMBase64.m需要设置 -fno-objc-arc (2) 在#import "NSString+Base64.m”文件中导入   #import <Foundation/Foundation.h> (3)在#import "GTMBase64.m”文件中添加         

MD5加密与DZ加密

1.MD5加密: Java代码 public static String md64Encode(String Password){ String newPassword = null; try { MessageDigest md5 = MessageDigest.getInstance("MD5"); BASE64Encoder base64en  = new BASE64Encoder(); newPassword = base64en.encode(md5.digest(Pass

Delphi RSA加解密【 (RSA公钥加密,私钥解密)、(RSA私钥加密,公钥解密)、MD5加密、SHA加密】

作者QQ:(648437169) delphi RSA加解密 [Delphi RSA加解密]支持 (RSA公钥加密,私钥解密).(RSA私钥加密,公钥解密).MD5加密.SHA1加密.SHA224加密.SHA256加密.SHA384加密.SHA512加密 原文地址:https://www.cnblogs.com/zhimamaigua/p/11003504.html

安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k. 对称加解密的过程如下: 发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密钥)才能进行通信.发送端用共享密钥k对明文p进行加密,得到密文c,并将得到的密文发送给接收端,接收端收到密文后,并用其相同的共享密钥k对密文进行解密,得出明文p. 一般加密和解密的算法是公开的,需要保持隐秘的是密钥k,流行的对称加密算法有:DES,Triple-DES,RC2和RC4 对称加密的不足