java md5加密

java与MD5加密以及两次MD5加密 java中实现MD5加密通常有两种方法 方法一:通过java自带的java.security.MessageDigest实现加密 package com.wantao.md5; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Base64; pub... 阅读详情
package com.h3c.imc.sgyy.sms;


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


import sun.misc.BASE64Encoder;


/**
 * MD5 encrypt algorithm. <br>
 * Encryption irreversible.
 *
 */
public final class MD5 {


/** Determine encrypt algorithm MD5 */
private static final String ALGORITHM_MD5 = "MD5";
/** UTF-8 Encoding */
private static final String UTF_8 = "UTF-8";


/**
* MD5 16bit Encrypt Methods.
* 
* @param readyEncryptStr
*            ready encrypt string
* @return String encrypt result string
* @throws NoSuchAlgorithmException
*/
public static final String MD5_16bit(String readyEncryptStr) throws NoSuchAlgorithmException {
if (readyEncryptStr != null) {
return MD5.MD5_32bit(readyEncryptStr).substring(8, 24);
} else {
return null;
}
}


/**
* MD5 32bit Encrypt Methods.
* 
* @param readyEncryptStr
*            ready encrypt string
* @return String encrypt result string
* @throws NoSuchAlgorithmException
*/
public static final String MD5_32bit(String readyEncryptStr) throws NoSuchAlgorithmException {
if (readyEncryptStr != null) {
// Get MD5 digest algorithm's MessageDigest's instance.
MessageDigest md = MessageDigest.getInstance(ALGORITHM_MD5);
// Use specified byte update digest.
md.update(readyEncryptStr.getBytes());
// Get cipher text
byte[] b = md.digest();
// The cipher text converted to hexadecimal string
StringBuilder su = new StringBuilder();
// byte array switch hexadecimal number.
for (int offset = 0, bLen = b.length; offset < bLen; offset++) {
String haxHex = Integer.toHexString(b[offset] & 0xFF);
if (haxHex.length() < 2) {
su.append("0");
}
su.append(haxHex);
}
return su.toString();
} else {
return null;
}
}


/**
* MD5 32bit Encrypt Methods.
* 
* @param readyEncryptStr
*            ready encrypt string
* @return String encrypt result string
* @throws NoSuchAlgorithmException
*/
public static final String MD5_32bit1(String readyEncryptStr) throws NoSuchAlgorithmException {
if (readyEncryptStr != null) {
// The cipher text converted to hexadecimal string
StringBuilder su = new StringBuilder();
// Get MD5 digest algorithm's MessageDigest's instance.
MessageDigest md = MessageDigest.getInstance(ALGORITHM_MD5);
byte[] b = md.digest(readyEncryptStr.getBytes());
int temp = 0;
// byte array switch hexadecimal number.
for (int offset = 0, bLen = b.length; offset < bLen; offset++) {
temp = b[offset];
if (temp < 0) {
temp += 256;
}
int d1 = temp / 16;
int d2 = temp % 16;
su.append(Integer.toHexString(d1) + Integer.toHexString(d2));
}
return su.toString();
} else {
return null;
}
}


/**
* MD5 32bit Encrypt Methods.
* 
* @param readyEncryptStr
*            ready encrypt string
* @return String encrypt result string
* @throws NoSuchAlgorithmException
*/
public static final String MD5_32bit2(String readyEncryptStr) throws NoSuchAlgorithmException {
if (readyEncryptStr != null) {
// The cipher text converted to hexadecimal string
StringBuilder su = new StringBuilder();
// Get MD5 digest algorithm's MessageDigest's instance.
MessageDigest md = MessageDigest.getInstance(ALGORITHM_MD5);
// Use specified byte update digest.
md.update(readyEncryptStr.getBytes());
byte[] b = md.digest();
int temp = 0;
// byte array switch hexadecimal number.
for (int offset = 0, bLen = b.length; offset < bLen; offset++) {
temp = b[offset];
if (temp < 0) {
temp += 256;
}
if (temp < 16) {
su.append("0");
}
su.append(Integer.toHexString(temp));
}
return su.toString();
} else {
return null;
}
}


/**
* MD5 16bit Encrypt Methods.
* 
* @param readyEncryptStr
*            ready encrypt string
* @return String encrypt result string
* @throws NoSuchAlgorithmException
* @throws UnsupportedEncodingException
*/
public static final String MD5_64bit(String readyEncryptStr)
throws NoSuchAlgorithmException, UnsupportedEncodingException {
MessageDigest md = MessageDigest.getInstance(ALGORITHM_MD5);
BASE64Encoder base64Encoder = new BASE64Encoder();
return base64Encoder.encode(md.digest(readyEncryptStr.getBytes(UTF_8)));
}


public static void main(String[] args) {
try {
String md516 = MD5.MD5_16bit("kaka123");
System.out.println("16bit-md5:\n" + md516); //
String md532 = MD5.MD5_32bit("kaka123");
String md5321 = MD5.MD5_32bit1("kaka123");
String md5322 = MD5.MD5_32bit2("kaka123");
System.out.println("32bit-md5:"); // 5d052f1e32af4e4ac2544a5fc2a9b992
System.out.println("1:  " + md532);
System.out.println("2:  " + md5321);
System.out.println("3:  " + md5322);
String md564 = MD5.MD5_64bit("kaka123");
System.out.println("64bit-md5:\n" + md564); //
} catch (Exception e) {
e.printStackTrace();
}
}
}
万字数据仓库面试题及参考答案 星型模型由一个中心的事实表和多个外围的维度表组成,事实表存储度量值和事实,维度表存储描述性属性和维度。星型模型和雪花模型的区别在于雪花模型将维度表进一步细化,形成多层次的结构,而星型模型由一个中心事实表和多个维度表组成,适用于查询较为简单的情况。维度建模通常采用星型模型或雪花模型,将数据分为事实表和维度表,其中事实表存储度量值和事实,维度表存储描述事实的属性。三者之间的关系可以这样理解:数据仓库主要关注历史数据的存储和分析,数据中台则关注数据的服务化和资产化,而数据湖则关注原始数据的存储和多样性。 阅读详情

相关推荐

手机耳机麦克风(ECM)电路设计实战:从差分走线到射频干扰滤波,一个电阻引发的灵敏度问题

本文深入探讨了手机耳机麦克风(ECM)电路设计中的关键问题,从差分走线到射频干扰滤波,特别关注了一个电阻引发的灵敏度问题。通过实际案例分析,详细解析了ECM麦克风工作原理、偏置电阻选型、差分信号传输设计以及射频干扰抑制策略,为工程师提供了实用的设计指南和优化建议。

weixin_42563415的博客 240

基于QT的MD5加密实例

MD5在QT4中已有实现: MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准...

yangzijiangtou 1423

LwIP在国产MCU的落地实践:从协议栈优化到网络稳定性实战

本文详细介绍了LwIP协议栈在国产GD32F407 MCU上的移植与优化实践,涵盖硬件平台选择、驱动适配、协议栈调优和网络稳定性提升策略。通过内存管理优化、实时操作系统集成和性能测试,为工业物联网应用提供高可靠性网络通信解决方案,显著提升数据传输效率和系统稳定性。

m2n3b4v5c6的博客 268

Java 实现MD5加密

MD5加密

上庸者-不服周 2万+

图像传感器与信号处理——详解CCD与CMOS图像传感器

一文详解CCD与CMOS图像传感器一文详解CCD与CMOS图像传感器1. 图像传感器性能关键词1.1 噪声1.2 暗电流 一文详解CCD与CMOS图像传感器 本文主要总结了CCD与CMOS传感器的原理知识,参考书籍为《数码相机中图像传感器和信号处理》,英文版为《Image Sensors And Signal Processing for Digital Still Cameras》 1. 图像传...

weixin_44580210的博客 2万+

SAP ERP销售应收&成本科目确定

ERP作为业财一体软件,其中最核心的就是业务与财务模块的自动集成,无需财务进行手工做账,提高工作效率的同时降低人工操作产生的误差。今天浅浅的分享一下SD模块生成会计凭证时,借贷项确定的系统配置。一般项目上借贷项、科目都有FICO提供,但是具体的集成配置是在SD这边。

weixin_43657667的博客 1568

Java中MD5的使用

在Java中,可以通过正则表达式来判断一个字符串是否是MD5字符。

Recently祝祝的博客 3793

在MDK5.37版本中添加Complier Version 5( 解决Missing Compiler Version 5 )

本文章仅作为个人学习记录,方法也是从其他博主的博客中得到的,链接如下:二、Keil——Missing Compiler Version 5 和 core_cm3.c 问题解决 - YI颗白菜 - 博客园 (cnblogs.com) 问题描述 更新最新的keil版本(MDK5.37)后,在编译以前版本的工程文件时,发现出现了非常多的报错,在网上搜索之后发现原来时编译器版本不匹配的问题,即MDK5.37中使用的是Version 6版本的编译器,而缺少Version 5,对于以前编写的工

leveling99的博客 1万+

Java 实现 MD5 加密算法

MD5 消息摘要算法,英文:MD5 Message-Digest Algorithm ,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5 是单向加密不可逆的,也就是常说的非对称加密,常用于用户密码的加密,这样即使密码泄露也不知道对应的明文信息,有效的保护系统和用户的隐私信息。MD5 算法产生的是一个 128 位的散列值,128 位是指的二进制中的 128 位,具体占 16 字节(每个字节可以表示为 8 位二进制数)。

grammer_du的博客 8079

Python爬虫实战:抓取CVE安全漏洞数据库

在网络安全领域,CVE(Common Vulnerabilities and Exposures)是一个非常重要的安全漏洞字典,它为每个安全漏洞提供了唯一的标识符。安全研究人员、开发人员和系统管理员都需要及时了解最新的CVE信息,以便采取相应的防护措施。本文将详细介绍如何使用Python爬虫技术从专业CVE网站抓取漏洞数据,并构建一个完整的CVE信息采集系统。本文详细介绍了如何使用Python爬虫技术从专业CVE网站抓取安全漏洞数据。多种爬虫技术反爬虫策略:User-Agent轮换、代理IP、请求延迟。

2201_76125261的博客 366

成本中心(CO)和利润中心(PCA)是管理会计模块的核心组件

SAP中成本中心(CO)和利润中心(PCA)凭证处理存在差异:①外部交易(如费用支付、销售)会生成FI借贷凭证;②内部成本分摊和转移仅产生CO/PCA管理凭证,通过次级成本要素或利润中心转移科目记录,不涉及FI模块。核心区别在于是否涉及企业实际收支:实际收支触发FI凭证,内部核算仅生成管理会计凭证。系统通过这种机制实现财务会计与管理会计的集成与分离。

金牌架构师 1127

怎么Java进行MD5摘要加密?

MD5摘要加密技术的应用场景包括:网络安全:MD5摘要加密技术可以用于保护网络通信的安全性,例如在密码验证、数字签名、文件完整性验证等方面。数据库安全:MD5摘要加密技术可以用于保护数据库中的敏感信息,例如用户密码、银行账户信息等。软件安全:MD5摘要加密技术可以用于校验软件的完整性,以防止软件被篡改或病毒感染。数字证书:MD5摘要加密技术可以用于数字证书的生成和验证,以保证证书的安全性和可信度。消息认证:MD5摘要加密技术可以用于消息认证,以保证消息的来源和完整性,防止消息被篡改或伪造。

万猫学社 3548

Qt C++ 卫星数据接收与处理界面

打开 `MainWindow.ui`,你会发现我们完全是在代码中 (`setupUI`) 创建的 UI。* 访问 [QCustomPlot 官网](https://www.qcustomplot.com/) 下载最新版本的 `qcustomplot.h` 和 `qcustomplot.cpp` 文件。* 对于 FFT,可以使用专门的库如 [FFTW](http://www.fftw.org/),或者 Qt 5.15 及以上版本中提供的 `QFFT` 和 `QComplex` 类。

寒寒豆豆软件公司的博客 148

Java实现MD5加密的方式

  MD5加密是一种常见的加密方式,我们经常用在保存用户密码和关键信息上。那么它到底有什么,又什么好处呢,会被这么广泛的运用在应用开发中。   1、什么是MD5   MD5加密全程是Message-Digest Algoorithm 5(信息-摘要算法),它对信息进行摘要采集,再通过一定的位运算,最终获取加密后的MD5字符串。   例如我们要加密一篇文章,那么我们会随机从每段话或者每行中获取...

此心光明,亦复何言~ 14万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java中md5加密_JAVA中使用MD5加密实现密码加密

1.新建Md5.javapackage com.loger.md5;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import sun.misc.BASE64Encoder;public clas...

weixin_28991555的博客 2084

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java md5withrsa_Java MD5加密与RSA加密

区别:MD5加密:加密时通过原字符串加密成另一串字符串解密时需要原加密字符串进行重新加密比较两次加密结果是否一致T=RSA加密:加密时通过原字符串生成密钥对(公钥+私钥)解密时通过公钥和私钥进行解密,解密出原字符串进行比较是否一致个人观点:RSA加密略比MD5加密牛逼一点点但凡事都有好坏 MD5加密执行效率比RSA快废话不多说上栗子:MD5加密:package cn.news.util;im...

weixin_35582180的博客 1305

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【项目小知识】Java中的Md5加密——Md5Util类

我是灼灼,一只初学Java的大一金渐层。 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄;追逐过王尔德、王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔;热爱文学的浪潮,白日梦到底却总在现实里清醒;艳羡平静又极度渴盼奔跑的力量。 欢迎与我交流鸭· QQ:1517526827; 个人博客:https://blog.youkuaiyun.com/weixin_52777510?spm=1001.2101.3001.5343 对数据库中用户的密码实现Md5加密 Md5加密是利用哈希算法实现的 其实我也看不懂写的是.

weixin_52777510的博客 8100

java md5 解密_Java的MD5加密和解密

import java.security.*;import java.security.spec.*;classMD5_test {public final staticString MD5(String s) {char hexDigits[] = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '...

weixin_42305648的博客 2981

java md5加密代码_java MD5加密实现代码

先从下面这张图对MD5加密实现进行了解,具体如下package com.pb;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Scanner;/** 验证MD5* ...

weixin_30043049的博客 1249

java md5加密和python md5加密

1.java md5加密 public class MD5Util { private static char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; private static String MD5 = "MD5";//加签方式:MD5 public static String sign(String data, Stri

州官已放火的博客 1888

Java中的MD5加密详解

MD5(Message Digest Algorithm 5,信息摘要算法5)是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5不是加密算法,因为其不可逆,所以更多的被称为摘要算法或散列算法。尽管MD5被广泛应用,但近年来MD5的安全性已被严重质疑,因为其存在碰撞攻击的风险。然后,我们计算输入字符串的字节数组的摘要,并将摘要转换为16进制字符串。注意,在计算摘要时,我们需要将输入字符串转换为字节数组。类来实现MD5加密。

weixin_61034310的博客 2520

JAVA md5加盐加密解密_md5加密,md5加盐加密和解密

packagecom.java.test;importjava.security.MessageDigest;importjava.security.SecureRandom;importjava.util.Arrays;public classTest {private static final Integer SALT_LENGTH = 12;/*** 16进制数字*/private stat...

weixin_39873208的博客 3168

md5 java_JAVA使用MD5加密解密

MD5消息摘要算法(英语:MD5Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。这波解释是不是很正经严肃,好像看懂了,但是如果有人问MD5是什么,MD5就是...就是小编也不知道,通俗一点MD5是一种算法,用于数据的安全方面对数据进行加密和解密,虽然MD5被认为不安全,...

weixin_39775428的博客 1570

java中md5加密和解密_如何在java中实现md5加密和解密

如何在java中实现md5加密和解密关注:273答案:1mip版解决时间 2021-01-19 20:37提问者精神疯裂2021-01-19 05:36如何在java中实现md5加密和解密最佳答案二级知识专家青禾鹭草2021-01-19 06:07package endecrypt;02.03.import java.io.UnsupportedEncodingException;04.i...

weixin_40004057的博客 1827

Java之MD5加密

Java之MD5加密 MD5加密用来对字符串加密,不可以逆转解密。加密之后默认为32位的十六进制。 在MySql中可以直接使用MD5函数,如下: 修改密码为字符串“ZYJ”的MD5加密。 从下图可以看出使用MD5加密字符串“ZYJ”为9d2dc2f4168f1121bf8c2dd6879abcf4,是一串32位的十六进制。因此在设计表时,对于需要进行MD5加密的字段长度需大于32。 在My...

程序员之道 386

java实现MD5加密和解密

java没有实现MD5解密操作,但是有些网站可以完成解密。 也可以使用其他方法进行可逆的加密解密操作。 加密解密 package com.yy.utils; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Utils { /** * 使用md5的算法进行加密 */ public stat

учёба 5万+
上一篇: eclipse tomcat debug不能进入断点
下一篇: eclipse 配置maven
javahepeng
博客等级 码龄15年 6粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值