- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的服务器维护,企业网站维护,网站维护服务
- (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
 
  
    
| 作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0 | 
    这个存储过程是计算 MD5 值的,可以用来进行密码认证加密等。 
SQL Server 的扩展存储过程 (Extended Stored Procedure, 简称 XP) 是通过在 MSSQL 数据库注册封装在 .dll 里面的函数实现的, 
而这个 .dll 应该按照 M$ 提供的规则, 并且要连接 MSSQL 的库文件。由于 C++ Builder 自带的 MSSQL 库文件 OPENDS60.LIB 比较旧, 
本文提供新版本的 OPENDS60.LIB 库文件, 支持 MSSQL 2000 版本的。 
-------------------------------------------------------------------------------- 
【安装方法】 
① 通过执行 SQL 语句注册存储过程: 
打开 Master 数据库,然后执行下面 SQL 语句 
EXEC sp_addextendedproc 'xp_md5', 'd:pathnamexp_md5.dll' 
如果注册的文件不包含路径,只有文件名,MSSQL会在这个文件夹里面找这个.dll 
C:Program FilesMicrosoft SQL ServerMSSQLBinn 
② 创建用来支持 select 语句的 MD5 函数 fn_md5 
打开想要执行这个存储过程的用户数据库,执行下面的 SQL: 
CREATE FUNCTION fn_md5 (@string VARCHAR(8000)) 
RETURNS CHAR(32) AS 
BEGIN 
DECLARE @hash CHAR(32) 
EXEC master.dbo.xp_md5 @string, @hash OUTPUT 
RETURN @hash 
END 
【使用方法】 
① 直接执行, 由于 xp_md5 在 master 数据库里面, 所以前面必须有 master. 
EXEC master.dbo.xp_md5 'Hello world!' 
② 通过 fn_md5 支持 select 语句, 这个函数在用户当前使用的数据库里面. 
SELECT dbo.fn_md5('Hello world!') 
【程序说明】 
xp_md5.bpr 存储过程 C++ Builder 6.0 工程文件 
OPENDS60.LIB 由于 C++ Builder 自带的文件比较旧,支持 MSSQL 7 的,这个程序带了一个 OPENDS60.LIB 文件,支持 MSSQL 2000 
md5.h Christophe Devine 原作,没做任何修改 
md5.cpp Christophe Devine 原作,没做任何修改 
xp_md5_main.cpp 存储过程主程序文件,根据 Vic Mackey 的存储过程修改的 
在创建工程的时候用 DLL 向导生成就可以了,没有特殊的要求,存储过程函数需要按规定的格式: 
__declspec(dllexport) SRVRETCODE WINAPI xpname(SRV_PROC* pSrvProc) 
其中 xpname 是存储过程的名,其他的都是规定的格式不能变 
另外存储过程 .dll 文件也必须包含这个函数: 
__declspec(dllexport) ULONG WINAPI __GetXpVersion() 
详细的内容请下载源程序看,比较简单。 
| 我要申请本站:N点 | 黑客防线官网 | | 
| 专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |