为了测试需要,需要在数据库中直接使用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;
相关推荐
MD5函数的基本语法在Oracle中是这样的: ```sql MD5(string) ``` 其中`string`是要进行哈希运算的原始字符串。这个函数会返回一个32位的16进制字符串,表示原始数据经过MD5算法处理后的哈希值。由于MD5是单向的,...
MD5算法封装DLL是指将MD5算法封装到动态链接库(DLL)文件中,供其他程序调用。DLL是一种可重用代码的模块,它可以包含执行特定任务的函数或其他可执行代码。通过这种方式,开发人员无需在每个项目中实现MD5算法,...
本知识点将探讨如何在C#中封装Oracle的OCI,以简化WinForm应用程序的客户端安装过程。 首先,理解“封装”在编程中的概念至关重要。封装是面向对象编程的一个基本原则,它隐藏了实现细节,提供了简洁的公共接口供...
在给定的压缩包文件中,"MD5算法封装类"可能是实现了上述功能的一个类文件,可能支持输入字符串或字节数组进行MD5加密,并提供简便的方法来获取和验证MD5摘要。"开源盛世ReadMe.txt"和"ReadMe.txt"可能是关于这个MD5...
在C++编程中,封装MD5功能可以帮助开发者更方便地处理这类任务。下面我们将详细讨论C++实现MD5加密封装类的相关知识点。 1. **MD5基本原理**: - MD5算法由Ronald L. Rivest在1991年设计,它将任意长度的输入(又...
Java中的MD5是一种加密算法,它可以将任意长度的消息压缩到128位的消息摘要中。MD5已被广泛应用于计算机领域,包括密码学、数字签名等。...封装好的MD5可以让您在开发过程中更加便捷地使用MD5算法,从而提高开发效率。
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的安全性问题(存在碰撞攻击的可能性),在涉及密码存储...
在这个"MD5算法封装类"中,开发者已经将MD5算法的功能集成到一个C++类中,方便了在C++项目中的使用。通常,这样的封装会包含以下几个核心部分: 1. **初始化**:类的构造函数可能用于初始化内部状态,预设MD5计算所...
这个文件封装了MD5的加密函数和DES加密解密函数,并且经过测试成功运行的
本文实例讲述了Python操作Oracle数据库的简单方法和封装类。分享给大家供大家参考,具体如下: 最近工作有接触到Oracle,发现很多地方用Python脚本去做的话,应该会方便很多,所以就想先学习下Python操作Oracle的...
使用方法: CMD5 md5; CString csMd5Buffer=md5.MD5("a string"); 执行完成之后csMd5Buffer中即存储了由"a string"计算得到的MD5值: 3a315533c0f34762e0c45e3d4e9d525c
5. **Oracle中MD5函数语句**: 另外,你还可以创建一个名为MD5HASH的函数,将MD5过程封装起来,便于在SQL查询中直接使用: ```sql CREATE OR REPLACE FUNCTION "MD5HASH" (str IN VARCHAR2) RETURN VARCHAR2 IS...
c#封装的oracle访问类(基于System.Data.OracleClient)
在VC++环境中,我们可以使用自定义的MD5封装类来实现对数据的哈希计算。下面我们将详细讨论MD5算法的基本原理、封装类的设计以及在VC++中的调用方法。 MD5算法是基于MD4算法设计的,由美国计算机科学家Ronald ...
vb中,md5加密程序封装德国大使馆是大方过是德国
MD5加密jar包是将MD5算法封装到Java程序中的库,方便开发者在Java应用中快速实现MD5加密功能。 MD5的特点: 1. **不可逆性**:MD5算法是单向的,即给定一个输入,可以得到一个固定长度的摘要,但不能通过摘要反推出...
这个“MD5动态库封装类”提供了一种简便的方法来实现MD5算法,使得开发者可以快速地在自己的项目中集成MD5校验功能。动态库是一种可被多个程序共享的代码库,它可以减少内存占用,提高执行效率,并方便软件更新。在...
`UKmd5.dll`库是为C++ Builder用户设计的,它封装了MD5算法,提供了一个接口供外部程序调用。在C++ Builder中,你可以通过动态加载DLL并调用其中的函数来实现MD5的计算。具体步骤如下: 1. **加载DLL**:使用`...