全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

基于Java语言MD5加密Base64转换方法

本文提供了基于MD5加密16位和32位的方法,具体内容如下

import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
/**
 * <p>标题:编码工具类</p>
 * <p>功能:对数据进行编码转换</p>
 * 作者:赵力
 */
public class EncodeUtil
{
  public static void main(String[] args) throws Exception
  {
    System.out.println(md5Encrypt16("需要进行MD5加密的字符串"));
  }

  /**
   * MD5加密16位
   * @param encryptStr 要加密数据
   * @return 返回16位加密结果
   * ZhaoLi
   */
  public static String md5Encrypt16(String encryptStr)
  {
    return md5Encrypt32(encryptStr).substring(8, 24);
  }

  /**
   * MD5加密32位
   * @param encryptStr 要加密数据
   * @return 32位加密结果
   * ZhaoLi
   */
  public static String md5Encrypt32(String encryptStr)
  {
    MessageDigest md5;
    try
    {
      md5 = MessageDigest.getInstance("MD5");
      byte[] md5Bytes = md5.digest(encryptStr.getBytes());
      StringBuffer hexValue = new StringBuffer();
      for (int i = 0; i < md5Bytes.length; i++)
      {
        int val = (md5Bytes[i]) & 0xff;
        if (val < 16)
        {
          hexValue.append("0");
        }
        hexValue.append(Integer.toHexString(val));
      }
      return hexValue.toString().toLowerCase();
    } catch (Exception e)
    {
      throw new RuntimeException(e);
    }
  }

  /** 
   * 结合base64实现md5加密 
   * @param msg 待加密字符串 
   * @return 获取md5后转为base64 
   * @throws Exception 
   */
  public static String md5EncryptBase64(String msg) throws Exception
  {
    return msg == null ? null : base64Encode(md5(msg));
  }

  /** 
   * 将byte[]转为各种进制的字符串 
   * @param bytes byte[] 
   * @param radix 可以转换进制的范围,从Character.MIN_RADIX到Character.MAX_RADIX,超出范围后变为10进制 
   * @return 转换后的字符串 
   */
  public static String binary(byte[] bytes, int radix)
  {
    return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数 
  }

  /** 
   * base 64 encode 
   * @param bytes 待编码的byte[] 
   * @return 编码后的base 64 code 
   */
  public static String base64Encode(byte[] bytes)
  {
    return new BASE64Encoder().encode(bytes);
  }

  /** 
   * base 64 decode 
   * @param base64Code 待解码的base 64 code 
   * @return 解码后的byte[] 
   * @throws Exception 
   */
  public static byte[] base64Decode(String base64Code)
  {
    try
    {
      return base64Code == null ? null : new BASE64Decoder().decodeBuffer(base64Code);
    } catch (IOException e)
    {
      throw new RuntimeException("报错内容", e);
    }
  }

  /** 
   * 获取byte[]的md5值 
   * @param bytes byte[] 
   * @return md5 
   * @throws Exception 
   */
  public static byte[] md5(byte[] bytes)
  {
    MessageDigest md;
    try
    {
      md = MessageDigest.getInstance("MD5");
    } catch (NoSuchAlgorithmException e)
    {
      throw new RuntimeException("报错内容", e);
    }
    md.update(bytes);
    return md.digest();
  }

  /** 
   * 获取字符串md5值 
   * @param msg 
   * @return md5 
   * @throws Exception 
   */
  public static byte[] md5(String msg)
  {
    return msg == null ? null : md5(msg.getBytes());
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Java  # MD5  # 加密  # java常用工具类之DES和Base64加密解密类  # Java实现图片与Base64编码互转  # Java实现BASE64编码和解码的方法  # 基于Java实现的Base64加密、解密原理代码  # JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)  # java BASE64Encoder详细介绍及简单实例  # java实现Base64加密解密算法  # Java 8实现图片BASE64编解码  # java 后台将base64字符串保存为图片的方法  # java自定义实现base64编码转换  # Java RSA加密解密实现方法分析【附BASE64 jar包下载】  # Java实现的Base64加密算法示例  # 报错  # 具体内容  # 大家多多  # String  # main  # Exception  # throws  # args  # public  # 赵力  # EncodeUtil  # void  # static  # System  # ZhaoLi  # substring  # println  # param  # return  # encryptStr 


相关文章: 制作门户网站的参考文献在哪,小说网站怎么建立?  内网网站制作软件,内网的网站如何发布到外网?  ui设计制作网站有哪些,手机UI设计网址吗?  建站之星会员如何解锁更多建站功能?  如何在建站宝盒中设置产品搜索功能?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  三星网站视频制作教程下载,三星w23网页如何全屏?  建站之星安装路径如何正确选择及配置?  如何通过cPanel快速搭建网站?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  网站制作价目表怎么做,珍爱网婚介费用多少?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  想学网站制作怎么学,建立一个网站要花费多少?  在线制作视频网站免费,都有哪些好的动漫网站?  建站主机选哪种环境更利于SEO优化?  如何在企业微信快速生成手机电脑官网?  如何通过网站建站时间优化SEO与用户体验?  如何通过二级域名建站提升品牌影响力?  如何在新浪SAE免费搭建个人博客?  建站之星后台管理系统如何操作?  高防服务器租用指南:配置选择与快速部署攻略  如何在IIS中新建站点并配置端口与物理路径?  企业微网站怎么做,公司网站和公众号有什么区别?  如何通过远程VPS快速搭建个人网站?  如何在万网自助建站平台快速创建网站?  相册网站制作软件,图片上的网址怎么复制?  如何制作一个表白网站视频,关于勇敢表白的小标题?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  ,如何利用word制作宣传手册?  婚礼视频制作网站,学习*后期制作的网站有哪些?  如何在服务器上配置二级域名建站?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  如何在云服务器上快速搭建个人网站?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何通过NAT技术实现内网高效建站?  如何生成腾讯云建站专用兑换码?  网页设计网站制作软件,microsoft office哪个可以创建网页?  建站之星如何快速生成多端适配网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何用PHP快速搭建CMS系统?  如何快速生成高效建站系统源代码?  如何快速上传自定义模板至建站之星?  北京专业网站制作设计师招聘,北京白云观官方网站?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何解决ASP生成WAP建站中文乱码问题?  网站制作大概多少钱一个,做一个平台网站大概多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。