import java.security.MessageDigest;
public class MD5Encrypt {
public final static String MD5(String s) {
byte[] btInput = s.getBytes();
return MD5Encrypt.MD5(btInput);
}
public final static String MD5(byte[] btInput) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D',
'E', 'F' };
try {
// 获得MD5摘要算法的 MessageDigest 对象
MessageDigest mdInst = MessageDigest.getInstance("MD5");
//MessageDigest mdInst = MessageDigest.getInstance("SHA-1");
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i >> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
// 为什么 MD5 如此神奇 16, 32位只是毫厘之差
// 16位
return new String(str).substring(8, 24);
// 32 位
//return new String(str);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
System.out.println(MD5Encrypt.MD5("kk"));
}
}
分享到:
相关推荐
这个名为"颜色格式转换(24bit-16bit).zip"的压缩包包含了一个由C#语言编写的程序,用于实现24位RGB(888)到16位RGB(565)的颜色格式转换,并能反向进行。下面我们将详细讨论这两种颜色格式以及它们之间的转换...
将32bit图像转化为16bit图像,并将转化后的图像输出。
红色通道占据5位,绿色通道6位,蓝色通道5位,总共16位。这种格式在保持相对较低的存储需求的同时,能够提供比8位图像更丰富的色彩层次。 24位位图,也称为真彩色位图,提供了每个像素24位的色彩信息,即红、绿、蓝...
基于Vivado 2020.2下 16bit 32bit 无符号及有符号整数 乘法 除法 加法 减法 及开方的 IP核实现与仿真验证
### Python存储16bit和32bit图像的实例解析 #### 概述 在Python中处理图像时,经常需要处理不同位深度的图像,比如16bit和32bit图像。这些图像通常用于专业领域,如科学研究、医学影像分析等。本文将详细介绍如何...
5. **生成比特流**:最后,生成设备配置文件(.bit),这个文件包含了FPGA内部资源的具体配置信息。 6. **下载到硬件**:如果需要在实际硬件上运行,将生成的比特流文件下载到目标FPGA中。 在提供的“vivado加法器...
3. **16bit到8bit转换的逻辑设计**: - **并行-串行转换**:16位数据可以通过并行-串行转换器转化为8位数据,这通常涉及移位寄存器和多路选择器。16位数据被分组为两个8位部分,然后逐位传输。 - **分组与裁剪**:...
ST官方给出的DSP库中汇编计算256点的FFT存在精度低的缺陷,通过改进汇编程序,可将精度提高到32bit,只增加很少的运算时间,对于STM32F1这样的单片机来说具有很大的优势
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的输入数据转换成一个固定长度的摘要输出,通常为128位,通常以32位十六进制数字表示。在中文环境下,"取16位MD5"通常指的是从完整的...
STM32F407是一款基于ARM Cortex-M4内核的高性能微控制器,广泛应用于嵌入式系统设计。本实验中,它被用于实现24位ADC(模拟数字转换器)进行电压采集以及16位DAC(数字模拟转换器)进行电压输出。ADC和DAC在许多应用...
实现16位raw图像转换为8位bmp,代码可用
理解32bit加法器和逻辑门实现2个并行的16bit加法器 本文旨在解释如何使用32bit加法器和逻辑门实现两个并行的16bit加法器,这是数字逻辑电路设计中的一道经典题目。通过分析问题的核心,我们可以发现,解决这个问题...
通常,这样的模块会包含一系列的API函数或者类,如`MD5_16Bit`和`MD5_32Bit`,分别用于计算16位和32位的MD5值。使用时,需要按照模块提供的接口调用方法,传入待加密的字符串,然后得到哈希结果。 在实际应用中,MD...
3. **位深度(Bit Depth)**: - 16bit是指每个采样点的位深度,代表声音的动态范围。位深度越高,能记录的声音级别越多,动态范围越大,音质也就越好。16bit提供了大约65536个不同的级别,足以满足大多数应用场景...
STM32F407单片机24bit_ADC_AD7190称重模块+16bit_DAC_电压输出实验KEIL工程源码 int main(void) { uint16_t data=0xFFFF/2; double temp,opa; float data_temp; int32_t weight_count; uint8_t cali_flag=0; ...
基于FFmpeg,实现 8k 16bit 立体声 转码 16k 16bit 单声道。
16bit UUID一览表 16位UUID是一种通用唯一标识符,用于标识蓝牙设备中的服务、特征和特征描述符。它是一个16位的二进制数字,通常用十六进制表示法表示。16位UUID是一种广泛使用的标识符,在蓝牙技术中扮演着重要...
在本文中,我们将深入探讨如何使用Verilog语言来实现4位超前进位加法器(Carry-Lookahead Adder,CLA)以及如何利用4位CLA设计一个16位的加法器。Verilog是一种硬件描述语言(HDL),广泛用于FPGA(Field-...
标题中的“音频转换软件”指的是一个能够处理音频数据并改变其质量的程序。在这个特定的案例中,这个软件声称能够将16位的音频转换成所谓的“宇宙音质”。16位是数字音频的一种常见采样精度,它代表每个声音样本有16...