ORACLE实现CRC32的计算函数,SOLARIS平台_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

ORACLE实现CRC32的计算函数,SOLARIS平台

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:  声明:这是我07年的一个偶然所得,借助了很多朋友和同事的帮助。希望能对在这个领域里面找寻的同行一些帮助。    首先用C在SOLARIS上编写一个CRC32.C文件    使用了SOLARIS上的GCC编译器...

  声明:这是我07年的一个偶然所得借助了很多朋友和同事的帮助希望能对在这个领域里面找寻的同行一些帮助

    首先用C在SOLARIS上编写一个CRC32.C文件

    使用了SOLARIS上的GCC编译器编译了CRC32.C文件,该文件最好放在oracle10g主目录下

    使用gcc编译器,编译成64位的crc32.so文件。

    编译命令是

    gcc -m64 -fpic -o crc32.o -c crc32.c

    gcc -shared -m64 -o crc32.so crc32.o -L/usr/sfw/lib/64

    在数据库中创建lib,命令是:

    SQL> create or replace library CRC32 as '/opt/oracle10g/crc32.so'

    2 /

    再创建function,命令如下:
 以下为引用的内容:

CREATE OR REPLACE function crc_32(a in varchar2)
return binary_integer
as
language C
library CRC32
name "call_crc"
parameters(a string,return int);
/
 
    测试结果:

    以下为引用的内容:

    SQL> select crc_32('hello') from dual;

    CRC_32('HELLO')

---------------

    907060870

    同使用PERL语言写的CRC32算法程序计算

    crc.pl hello

    907060870

    结果一致

    同理对其他字符串进行了测试,结果一样。

    测试成功,证明在ORACLE中可以使用CRC32计算出INTID

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12461-1.html
网站维护教程更新时间:2012-03-23 00:41:02  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer