`

封装Oracle中MD5的用法

阅读更多

     为了测试需要,需要在数据库中直接使用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;

 

 

0
0
分享到:
评论

相关推荐

    Oracle实现MD5加密

    本文将深入探讨如何在Oracle中实现MD5加密,并通过具体示例代码进行说明。 ### Oracle实现MD5加密的方法 #### 1. 使用DBMS_OBFUSCATION_TOOLKIT.MD5函数 Oracle提供了一个内置包`DBMS_OBFUSCATION_TOOLKIT`,其中...

    Oracle MD5函数

    MD5函数的基本语法在Oracle中是这样的: ```sql MD5(string) ``` 其中`string`是要进行哈希运算的原始字符串。这个函数会返回一个32位的16进制字符串,表示原始数据经过MD5算法处理后的哈希值。由于MD5是单向的,...

    MD5算法封装DLL MD5算法封装DLL MD5算法封装DLL

    MD5算法封装DLL是指将MD5算法封装到动态链接库(DLL)文件中,供其他程序调用。DLL是一种可重用代码的模块,它可以包含执行特定任务的函数或其他可执行代码。通过这种方式,开发人员无需在每个项目中实现MD5算法,...

    MD5封装类

    在给定的压缩包文件中,"MD5算法封装类"可能是实现了上述功能的一个类文件,可能支持输入字符串或字节数组进行MD5加密,并提供简便的方法来获取和验证MD5摘要。"开源盛世ReadMe.txt"和"ReadMe.txt"可能是关于这个MD5...

    C++ MD5加密封装类

    在C++编程中,封装MD5功能可以帮助开发者更方便地处理这类任务。下面我们将详细讨论C++实现MD5加密封装类的相关知识点。 1. **MD5基本原理**: - MD5算法由Ronald L. Rivest在1991年设计,它将任意长度的输入(又...

    C# MD5 简单封装

    C#中的MD5简单封装主要涉及到System.Security.Cryptography命名空间下的MD5类。以下是一个基本的MD5哈希计算的步骤和相关知识点: 1. **导入命名空间**:首先需要导入`System.Security.Cryptography`和`System.Text...

    md5加密封装

    在C或C++中封装MD5函数,你需要实现以下功能: - **读取二进制数据**:可以使用文件流或内存缓冲区读取数据。 - **预处理数据**:根据MD5规范填充和添加长度信息。 - **MD5循环计算**:实现MD5的4轮16步迭代过程,...

    MD5算法封装类

    总的来说,MD5算法封装类是软件开发中一个实用的工具,它简化了MD5哈希计算的过程,使得在C++中处理数据完整性问题变得更加便捷。然而,需要注意的是,由于MD5的安全性问题(存在碰撞攻击的可能性),在涉及密码存储...

    jar包MD5加密包含用法

    用法.txt文件很可能是提供关于如何在Java程序中使用JavaMD5.jar的详细指南,包括导入库、创建MD5实例、加密数据并显示结果等步骤。建议打开这个文件查看具体的代码示例和使用说明。 在实际应用中,需要注意的是MD5...

    MD5算法封装类 含源码

    在这个"MD5算法封装类"中,开发者已经将MD5算法的功能集成到一个C++类中,方便了在C++项目中的使用。通常,这样的封装会包含以下几个核心部分: 1. **初始化**:类的构造函数可能用于初始化内部状态,预设MD5计算所...

    md5加解密c++md5加解密c++

    在C++中实现MD5加解密涉及对原始数据进行计算并生成其哈希值的过程。 MD5主要应用于数据完整性校验,比如验证文件的下载是否完整、密码存储的安全性等。由于其快速和简单的特点,MD5曾被广泛用于这些目的。然而,...

    封装好的MD5和DES的加密解密代码

    这个文件封装了MD5的加密函数和DES加密解密函数,并且经过测试成功运行的

    Python操作Oracle数据库的简单方法和封装类实例

    本文实例讲述了Python操作Oracle数据库的简单方法和封装类。分享给大家供大家参考,具体如下: 最近工作有接触到Oracle,发现很多地方用Python脚本去做的话,应该会方便很多,所以就想先学习下Python操作Oracle的...

    python超级方便且安全的md5加密,以封装。

    python超级方便的md5加密,以封装。md5的值是不能反解的,那怎么判断现在的输入和数据库中加密的内容一致呢,只能将现在的输入加密,拿加密后的md5值和数据库中的md5值做判断,md5或许可以被黑客暴力破解

    c#封装的oracle访问类(基于System.Data.OracleClient)

    c#封装的oracle访问类(基于System.Data.OracleClient)

    Oracle中的MD5加密详解

    5. **Oracle中MD5函数语句**: 另外,你还可以创建一个名为MD5HASH的函数,将MD5过程封装起来,便于在SQL查询中直接使用: ```sql CREATE OR REPLACE FUNCTION "MD5HASH" (str IN VARCHAR2) RETURN VARCHAR2 IS...

    md5封装类及调用 vc++

    在VC++环境中,我们可以使用自定义的MD5封装类来实现对数据的哈希计算。下面我们将详细讨论MD5算法的基本原理、封装类的设计以及在VC++中的调用方法。 MD5算法是基于MD4算法设计的,由美国计算机科学家Ronald ...

    md5加密jar包

    MD5加密jar包是将MD5算法封装到Java程序中的库,方便开发者在Java应用中快速实现MD5加密功能。 MD5的特点: 1. **不可逆性**:MD5算法是单向的,即给定一个输入,可以得到一个固定长度的摘要,但不能通过摘要反推出...

    MD5动态库封装类

    这个“MD5动态库封装类”提供了一种简便的方法来实现MD5算法,使得开发者可以快速地在自己的项目中集成MD5校验功能。动态库是一种可被多个程序共享的代码库,它可以减少内存占用,提高执行效率,并方便软件更新。在...

    MD5 md5 md5加密

    `MD5.java`可能会包含一个`MD5`类,其中包含了计算MD5哈希的方法,而`MD5State.java`则可能封装了MD5算法中的状态变量和更新状态的逻辑,使得算法的实现更加模块化。 总的来说,MD5是一种曾经广泛应用于数据校验的...

Global site tag (gtag.js) - Google Analytics