sql自带加密

来源:互联网 发布:淘宝商品违规怎么处理 编辑:程序博客网 时间:2024/04/29 01:02

select hashbytes('MD5', '12345')


-------------------
select pwdencrypt('12345')

--------------------------------
DECLARE   @ClearPWD   varchar(255) 
DECLARE   @EncryptedPWD   varbinary(255)
SELECT   @ClearPWD   =   '12345'
SELECT   @EncryptedPWD   =   CONVERT(varbinary(255),pwdencrypt(@ClearPWD))
SELECT   pwdcompare(@ClearPWD,   @EncryptedPWD,   0)   --表密码相同
SELECT   pwdcompare( 'ErrorPassword ',   @EncryptedPWD,   0)  --表密码不同


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

-- =============================================
-- Author:        peterlu
-- Create date: 2008-6-11
-- Description:  实现MD5加密算法,返回对字符串的加密结果串
-- =============================================
CREATE FUNCTION [dbo].[MD5FUN]
(
    -- 源字符串
    @src varchar(255),
    -- 加密类型(16/32)
    @type int = 32
)
RETURNS varchar(255)
WITH EXECUTE AS CALLER
AS
BEGIN
    -- 存放md5加密串(ox)
    DECLARE @smd5 varchar(34)

    -- 加密字符串
    SELECT @smd5 = sys.fn_VarBinToHexStr(hashbytes('MD5', @src));

    IF @type=16
        SELECT @smd5 = SUBSTRING(@smd5,11,16)   --16位
    ELSE
        SELECT @smd5 = SUBSTRING(@smd5,3,32)    --32位

    -- 返回加密串
    RETURN @smd5

END

--调用
SELECT [dbo].[MD5FUN] ('asd',32)