为了测试需要,需要在数据库中直接使用MD5,对Oracle中MD5的用法进行了简单的封装,直接在代码中执行可以不封装成函数,
如下
DECLARE input_string VARCHAR2(9999) := 'zbcdefghijklmnopqrstuvwxyz';--此处可以修改 raw_input RAW(128) ; decrypted_raw RAW(2048); BEGIN --此处可以使用表中的数据做 加密的原始字符串代替手动输入 --select dummy into input_string from dual ; dbms_output.put_line('key-->'||input_string); --将字符串 转换成 每个字符的ASCII码存放到raw_input RAW类型变量 raw_input := UTL_RAW.CAST_TO_RAW(input_string) ; sys.dbms_obfuscation_toolkit.MD5(input => raw_input, checksum => decrypted_raw); dbms_output.put_line(rawtohex(decrypted_raw)); END;
如果需要 大面积调用, 最好封装成一个Function,如下,因权限问题,没有进行测试
CREATE OR REPLACE FUNCTION MD5 ( input_string_arg in varchar(99999); ) return varchar2 input_string :=input_string_arg; raw_input RAW(128) ; decrypted_raw RAW(2048); BEGIN --此处可以使用表中的数据做 加密的原始字符串代替手动输入 --select dummy into input_string from dual ; dbms_output.put_line('key-->'||input_string); --将字符串 转换成 每个字符的ASCII码存放到raw_input RAW类型变量 raw_input := UTL_RAW.CAST_TO_RAW(input_string) ; sys.dbms_obfuscation_toolkit.MD5(input => raw_input, checksum => decrypted_raw); dbms_output.put_line(rawtohex(decrypted_raw)); return rawtohex(decrypted_raw); END;
相关推荐
本文将深入探讨如何在Oracle中实现MD5加密,并通过具体示例代码进行说明。 ### Oracle实现MD5加密的方法 #### 1. 使用DBMS_OBFUSCATION_TOOLKIT.MD5函数 Oracle提供了一个内置包`DBMS_OBFUSCATION_TOOLKIT`,其中...
MD5函数的基本语法在Oracle中是这样的: ```sql MD5(string) ``` 其中`string`是要进行哈希运算的原始字符串。这个函数会返回一个32位的16进制字符串,表示原始数据经过MD5算法处理后的哈希值。由于MD5是单向的,...
MD5算法封装DLL是指将MD5算法封装到动态链接库(DLL)文件中,供其他程序调用。DLL是一种可重用代码的模块,它可以包含执行特定任务的函数或其他可执行代码。通过这种方式,开发人员无需在每个项目中实现MD5算法,...
在给定的压缩包文件中,"MD5算法封装类"可能是实现了上述功能的一个类文件,可能支持输入字符串或字节数组进行MD5加密,并提供简便的方法来获取和验证MD5摘要。"开源盛世ReadMe.txt"和"ReadMe.txt"可能是关于这个MD5...
在C++编程中,封装MD5功能可以帮助开发者更方便地处理这类任务。下面我们将详细讨论C++实现MD5加密封装类的相关知识点。 1. **MD5基本原理**: - MD5算法由Ronald L. Rivest在1991年设计,它将任意长度的输入(又...
C#中的MD5简单封装主要涉及到System.Security.Cryptography命名空间下的MD5类。以下是一个基本的MD5哈希计算的步骤和相关知识点: 1. **导入命名空间**:首先需要导入`System.Security.Cryptography`和`System.Text...
在C或C++中封装MD5函数,你需要实现以下功能: - **读取二进制数据**:可以使用文件流或内存缓冲区读取数据。 - **预处理数据**:根据MD5规范填充和添加长度信息。 - **MD5循环计算**:实现MD5的4轮16步迭代过程,...
总的来说,MD5算法封装类是软件开发中一个实用的工具,它简化了MD5哈希计算的过程,使得在C++中处理数据完整性问题变得更加便捷。然而,需要注意的是,由于MD5的安全性问题(存在碰撞攻击的可能性),在涉及密码存储...
用法.txt文件很可能是提供关于如何在Java程序中使用JavaMD5.jar的详细指南,包括导入库、创建MD5实例、加密数据并显示结果等步骤。建议打开这个文件查看具体的代码示例和使用说明。 在实际应用中,需要注意的是MD5...
在这个"MD5算法封装类"中,开发者已经将MD5算法的功能集成到一个C++类中,方便了在C++项目中的使用。通常,这样的封装会包含以下几个核心部分: 1. **初始化**:类的构造函数可能用于初始化内部状态,预设MD5计算所...
在C++中实现MD5加解密涉及对原始数据进行计算并生成其哈希值的过程。 MD5主要应用于数据完整性校验,比如验证文件的下载是否完整、密码存储的安全性等。由于其快速和简单的特点,MD5曾被广泛用于这些目的。然而,...
这个文件封装了MD5的加密函数和DES加密解密函数,并且经过测试成功运行的
本文实例讲述了Python操作Oracle数据库的简单方法和封装类。分享给大家供大家参考,具体如下: 最近工作有接触到Oracle,发现很多地方用Python脚本去做的话,应该会方便很多,所以就想先学习下Python操作Oracle的...
python超级方便的md5加密,以封装。md5的值是不能反解的,那怎么判断现在的输入和数据库中加密的内容一致呢,只能将现在的输入加密,拿加密后的md5值和数据库中的md5值做判断,md5或许可以被黑客暴力破解
c#封装的oracle访问类(基于System.Data.OracleClient)
5. **Oracle中MD5函数语句**: 另外,你还可以创建一个名为MD5HASH的函数,将MD5过程封装起来,便于在SQL查询中直接使用: ```sql CREATE OR REPLACE FUNCTION "MD5HASH" (str IN VARCHAR2) RETURN VARCHAR2 IS...
在VC++环境中,我们可以使用自定义的MD5封装类来实现对数据的哈希计算。下面我们将详细讨论MD5算法的基本原理、封装类的设计以及在VC++中的调用方法。 MD5算法是基于MD4算法设计的,由美国计算机科学家Ronald ...
MD5加密jar包是将MD5算法封装到Java程序中的库,方便开发者在Java应用中快速实现MD5加密功能。 MD5的特点: 1. **不可逆性**:MD5算法是单向的,即给定一个输入,可以得到一个固定长度的摘要,但不能通过摘要反推出...
这个“MD5动态库封装类”提供了一种简便的方法来实现MD5算法,使得开发者可以快速地在自己的项目中集成MD5校验功能。动态库是一种可被多个程序共享的代码库,它可以减少内存占用,提高执行效率,并方便软件更新。在...
`MD5.java`可能会包含一个`MD5`类,其中包含了计算MD5哈希的方法,而`MD5State.java`则可能封装了MD5算法中的状态变量和更新状态的逻辑,使得算法的实现更加模块化。 总的来说,MD5是一种曾经广泛应用于数据校验的...