我是在SqlServer数据库中实验的
首先创建一个表,这里我省略创建表过程
其次创建一个md5加密函数
CREATE FUNCTION [dbo].[MD5](@src varchar(255) )
RETURNS varchar(255)
AS
BEGIN
DECLARE @md5 varchar(34)
SET @md5 = sys.fn_VarBinToHexStr(hashbytes(‘MD5’, @src));
–RETURN SUBSTRING(@md5,11,16) --16位
RETURN SUBSTRING(@md5,3,32) --32位
END
go
下边试验一下
select dbo.MD5(‘123’)
结果为
(无列名)
202cb962ac59075b964b07152d234b70
下边调用数据表试一下(S_taff 为表名,S_Name为姓名字段)
select S_Name from S_taff where dbo.MD5(S_Name)=dbo.MD5(‘员工一’)
查询出来的结果为:
S_Name
员工一