`
qmzpanda
  • 浏览: 16199 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JAVA-MD5 and Oracle-MD5

阅读更多
java生成MD5加密的字符串方法1:
public static String getMD5(byte[] source) {
		String s = null;
		char hexDigits[] = 
		{ // 用来将字节转换成 16 进制表示的字符
		'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd','e', 'f' };
		try {
			long t1 = System.currentTimeMillis();
			java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
			md.update(source);
			byte tmp[] = md.digest(); // MD5 的计算结果是一个 128 位的长整数,
			// 用字节表示就是 16 个字节
			char str[] = new char[16 * 2]; // 每个字节用 16 进制表示的话,使用两个字符,
			// 所以表示成 16 进制需要 32 个字符
			int k = 0; // 表示转换结果中对应的字符位置
			for (int i = 0; i < 16; i++) { // 从第一个字节开始,对 MD5 的每一个字节
				// 转换成 16 进制字符的转换
				byte byte0 = tmp[i]; // 取第 i 个字节
				str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 取字节中高 4 位的数字转换,
				// >>> 为逻辑右移,将符号位一起右移
				str[k++] = hexDigits[byte0 & 0xf]; // 取字节中低 4 位的数字转换
			}
			s = new String(str); // 换后的结果转换为字符串
			long t2 = System.currentTimeMillis();
			System.out.println("method1 cost time:" +(t2-t1));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return s;
	}

java生成MD5加密的字符串方法2:

public static String getMD5_2(byte[] source) {
		String s = null;
		try {
			long t1 = System.currentTimeMillis();
			java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
			md.update(source);
			byte tmp[] = md.digest(); // MD5 的计算结果是一个 128 位的长整数,
			StringBuilder sb = new StringBuilder();
			for (byte b : tmp) {
				sb.append(String.format("%02X", b));
			}
			s = sb.toString();
			long t2 = System.currentTimeMillis();
			System.out.println("method2 cost time:" +(t2-t1));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return s;
	}



在Oracle数据库中可以用作生成一系列唯一的位数固定的列:

CREATE OR REPLACE function md5(input_string VARCHAR2) return varchar2 
IS 
raw_input RAW(1024) := UTL_RAW.CAST_TO_RAW(input_string); 
decrypted_raw RAW(2048); 
error_in_input_buffer_length EXCEPTION; 
BEGIN 
sys.dbms_obfuscation_toolkit.MD5(input => raw_input, checksum => decrypted_raw); 
return lower(rawtohex(decrypted_raw)); 
END; 
分享到:
评论

相关推荐

    mysql-connector-java-5.1.23 官网下载

    http://www.oracle.com/index.html 官网下载 ...mysql-connector-java-5.1.23.zip MD5: 1a6cbbfccab7884134471992005fe0f9 Size: 3.7M Signature java编程eclipse和myeclipse链接mysql的jar包与相关文档

    java web购物系统附带oracle数据库语句,MD5加密

    购物系统,java web,oracle建表,分页功能,servlet+jsp

    mysql-connector-java-8.0.25.zip

    JDBC是Java编程语言的一个标准接口,由Sun Microsystems(现已被Oracle收购)开发,用于与各种数据库进行交互。它为开发者提供了一种统一的方式来访问数据库,无论数据库管理系统(DBMS)是什么。JDBC驱动是这个接口的...

    MD5算法源码_JS_Java_Oracle_MySQL

    Oracle数据库也支持MD5函数,可以在SQL查询中直接使用。例如,计算一个字段的MD5值: ```sql SELECT DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW('Hello, World!'), 2) AS MD5_DIGEST FROM DUAL; ``` 这里`DBMS_CRYPTO....

    java-jdk1.8-jdk-8u202-windows-x64.zip

    2. **验证文件**:确保下载的文件完整且未被篡改,可以检查MD5或SHA校验和。 3. **双击安装**:在Windows x64系统上,双击执行安装程序,按照屏幕上的指示进行操作。 4. **接受许可协议**:阅读并同意Oracle的软件...

    java-jdk1.8-jdk-8u151-linux-x64.zip

    1. **下载**:首先,你需要从Oracle官方网站或可信的第三方源下载`java-jdk1.8-jdk-8u151-linux-x64.zip`压缩文件。确保文件的完整性和安全性,可以通过检查MD5或SHA校验和来验证。 2. **解压**:使用`unzip`命令将...

    20220702-jdk-install-and-hello-world.md

    #### 5. 扩展阅读 - **Linux系统下的JDK安装**: - 文章提到了如果读者使用的是Linux系统,可以参考其他资源或者查看作者的另一篇文章《手把手带你玩转Ubuntu》。 #### 结论 通过以上步骤,不仅可以成功安装和...

    基于springboot oracle java-swing的职工考勤管理信息系统源码+数据库+项目说明.zip

    基于springboot oracle java-swing的职工考勤管理信息系统源码+项目说明.zip # EAMIS--职工考勤管理信息系统 本项目为Oracle数据库大作业,目前已经基本完成。 更加详细的报告,在本项目的pdf文件夹中,包含了整体...

    java-帐号系统

    这包括使用HTTPS协议加密通信,使用MD5或SHA等哈希算法对密码进行存储,以及实现基于角色的访问控制(RBAC)来限制不同用户权限。 5. **身份验证与授权**:登录功能涉及账户的验证,通常使用令牌(Token)机制,如...

    Java Jdk1.8最终版(jdk-8u231-windows-x64.exe)含MD5工具

    Oracle官网下载的JDK,1.8最终版(Java SE Development Kit 8u231)。 MD5验证地址:www.oracle.com/webfolder/s/digest/8u231checksum.html

    学习Java基本语法的仓库 存放学习Java的md文件和Java代码.rar

    java运行机制 java核心机制 java虚拟机 jvm java virtual machine 1. jvm是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行管理数据、内存、寄存器,包含在JDK中 2. 不同平台,不同虚拟机 3. java...

    Java+oracle 制作的仿QQ系统

    本项目是一个基于Java编程语言和Oracle数据库开发的仿QQ系统,旨在为Java初学者提供一个实践平台,加深对Java和数据库应用的理解。以下将详细解析这个项目中的关键知识点。 1. **Java编程基础**:该项目涉及到Java...

    Java-master.rar

    Java是一种广泛使用的高级编程语言,由Sun Microsystems(后被Oracle公司收购)于1995年发布。它的设计目标是“简单、通用、面向对象、健壮、安全、高性能、可移植、多线程和动态”。Java以其跨平台的特性,通过Java...

    基于SpringBoot+Oracle+java-swing的企业职工考勤管理信息系统源码+sql数据库(数据库大项目).zip

    基于SpringBoot+Oracle+java-swing的企业职工考勤管理信息系统源码+sql数据库(毕设项目).zip 企业职工考勤管理信息系统 本项目为本人大二下的Oracle数据库大作业,目前已经基本完成。 鉴于swing框架已经淘汰,本项目...

    毕业设计&课设-基于springboot oracle java-swing 的 职工考勤管理信息系统.zip

    下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1...

    java16天从入门到精通 畅购-讲师源码md课件.zip

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它的设计目标是具有跨平台性、安全性、健壮性和可移植性,使得“一次编写,到处运行”成为可能。本课程“Java ...

    springMVC-Hibernate-Oracle-master.zip

    在Java开发中,Oracle数据库通常通过JDBC(Java Database Connectivity)接口进行连接和操作。 这个压缩包内的项目可能包含以下文件和目录: 1. **pom.xml** - Maven的配置文件,定义了项目的依赖,包括Spring MVC...

    java-xueshengchengji.rar_java 学生 系统_java学生成绩

    对于数据存储,可能使用了JDBC(Java Database Connectivity)来连接和操作关系型数据库,如MySQL或Oracle,以存储大量的学生和成绩数据。 【标签】"java_学生__系统 java学生成绩" 这些标签进一步突出了系统的特性...

    mysql与mssql的md5加密语句

    您可能感兴趣的文章:MySQL加密和解密实例详解Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享PHP MySQL应用中使用XOR运算加密算法分享MySQL 加密/压缩函数mysql双向加密解密方式用法详解MySQL 整表加密...

Global site tag (gtag.js) - Google Analytics