[发明专利]使用标准SQL语句实现MD5算法的方法及装置在审
申请号: | 202310275005.4 | 申请日: | 2023-03-20 |
公开(公告)号: | CN116303539A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 杜海亮;范翔宇;袁大平 | 申请(专利权)人: | 中国工商银行股份有限公司;工银科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 崔博;叶明川 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 标准 sql 语句 实现 md5 算法 方法 装置 | ||
本发明公开了一种使用标准SQL语句实现MD5算法的方法及装置,可用于金融领域或其他技术领域,该方法包括:调用转换和填充函数填充原始数据得到长度为N×128的HEX字符串rawStr;从所述字符串rawStr中按顺序取出N个长度为128的HEX字符串rawGrpStr,分别针对每个字符串rawGrpStr进行循环计算,得到每个字符串rawGrpStr各自对应的R1、R2、R3和R4的计算结果,进而将每个字符串rawGrpStr各自对应的R1、R2、R3和R4的计算结果进行拼接,得到MD5运算结果。本发明实现了使用标准SQL语句实现MD5算法的有益效果。
技术领域
本发明涉及数据库技术领域,具体而言,涉及一种使用标准SQL语句实现MD5算法的方法及装置。
背景技术
在SQL运算中使用MD5算法对原始数据或输入字符串进行处理是非常普遍的。与普通的SQL函数不同,现有数据库系统的MD5函数,也称原生MD5,都是采用数据库厂家底层的非SQL语言实现的,MD5函数通常都在扩展包中提供,扩展包本身使用C/C++/Java等编译型语言实现,在SQL中仅提供厂家特有的MD5函数接口。比如:
Oracle数据库:使用扩展包提供专用函数,本身使用C编写内核,java扩展编制,函数说明如下。
Function DBMS_OBFUSCATION_TOOKIT.MD5(input_string IN varchar2);
Mysql数据库:从mysql 4.1的版本开始内置支持,本身采用C/C++语言编制,对于小于4.1的版本,mysql不支持MD5函数。
OceanBase数据库:基本包中不支持MD5函数,需要另外购置和安装扩展包才能支持MD5函数,MD5函数本身也使用底层语言而不是SQL语言实现。
图2说明了数据库厂家提供原生MD5函数的调用过程,如图2所示,SQL应用调用原生提供的“SQL MD5对外接口”后,SQL的解释器会调用数据库系统专用扩展包中已实现MD5函数,该扩展包通常使用C/C++/java等程序语言实现,这些函数可能会调用操作系统或语言底层库的相关支持接口。
目前多数数据库系统需要安装专用的扩展包,这可能造成特殊安装的工作量,或需要独立购置扩展包,增加了项目成本。此外,对于部分数据库及其扩展包不支持MD5的情况或低版本数据库系统完全不支持MD5的情况,以此数据库为中心的应用将无法使用MD5函数。由此可见,现有技术缺少一种更为便捷的使用标准SQL语句实现MD5算法的方法。
发明内容
本发明为了解决上述背景技术中的至少一个技术问题,提出了一种使用标准SQL语句实现MD5算法的方法及装置。
为了实现上述目的,根据本发明的一个方面,提供了一种使用标准SQL语句实现MD5算法的方法,该方法包括:
初始化R1、R2、R3和R4四个幻数,T1、T2、T3和T4四个HEX字符串常数数组,以及整数常数数组K1、K2、K3、K4、S1、S2、S3和S4;
调用转换和填充函数填充原始数据得到长度为N×128的HEX字符串rawStr,其中,所述原始数据为任意长度的SQL varchar字符串,N为大于等于1的整数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司;工银科技有限公司,未经中国工商银行股份有限公司;工银科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310275005.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种通讯通道控制方法、系统、网关和存储介质
- 下一篇:文档图片校正方法及装置