SQL 加密方法(MD5,SHA1,MD2,MD3,MD4等)

常用于找回密码时,系统生成随机密码的情况.

 1-- =============================================
 2-- Author:        飘渺峰
 3-- Create date: 2009-03-30
 4-- Description:    获取指定长度的随机字符串
 5-- =============================================
 6ALTER PROCEDURE Proc_GetRankString 
 7    @iLen INT,
 8    @result VARCHAR(MAX) OUTPUT
 9    
10    /*
11    DECLARE @temp VARCHAR(50)
12    SET @temp = '';
13    EXEC PROC_GETRankString 15, @temp OUTPUT
14    SELECT @temp
15    */

16AS
17BEGIN
18    SET @result = '';
19    DECLARE @STR VARCHAR(MAX), @INT INT@iCount INT
20    SET @STR = ''SET @INT = 0SET @iCount = 0;
21    IF @ilen <= 0 SET @ilen = 8;
22    IF @ilen >=30 SET @ilen = 30;
23
24    WHILE @ilen > @iCount
25    BEGIN
26        SET @INT = CAST(CEILING(RAND() * 38AS INT)
27        SET @STR = CASE
28            WHEN @INT = 1 THEN @STR + 'A'
29            WHEN @INT = 2 THEN @STR + 'B'
30            WHEN @INT = 3 THEN @STR + 'C'
31            WHEN @INT = 4 THEN @STR + 'D'
32            WHEN @INT = 5 THEN @STR + 'E'
33            WHEN @INT = 6 THEN @STR + 'F'
34            WHEN @INT = 7 THEN @STR + 'G'
35            WHEN @INT = 8 THEN @STR + 'H'
36            --WHEN @INT = 9 THEN @STR + 'I'
37            WHEN @INT = 10 THEN @STR + 'J'
38            WHEN @INT = 11 THEN @STR + 'K'
39            WHEN @INT = 12 THEN @STR + 'L'
40            WHEN @INT = 13 THEN @STR + 'M'
41            WHEN @INT = 14 THEN @STR + 'N'
42            WHEN @INT = 15 THEN @STR + 'O'
43            WHEN @INT = 16 THEN @STR + 'P'
44            WHEN @INT = 17 THEN @STR + 'Q'
45            WHEN @INT = 18 THEN @STR + 'R'
46            WHEN @INT = 19 THEN @STR + 'S'
47            WHEN @INT = 20 THEN @STR + 'T'
48            WHEN @INT = 21 THEN @STR + 'U'
49            WHEN @INT = 22 THEN @STR + 'V'
50            WHEN @INT = 23 THEN @STR + 'W'
51            WHEN @INT = 24 THEN @STR + 'X'
52            WHEN @INT = 25 THEN @STR + 'Y'
53            WHEN @INT = 26 THEN @STR + 'Z'
54            WHEN @INT = 27 THEN @STR + '1'
55            WHEN @INT = 28 THEN @STR + '2'
56            WHEN @INT = 29 THEN @STR + '3'
57            WHEN @INT = 30 THEN @STR + '4'
58            WHEN @INT = 31 THEN @STR + '5'
59            WHEN @INT = 32 THEN @STR + '6'
60            WHEN @INT = 33 THEN @STR + '7'
61            WHEN @INT = 34 THEN @STR + '8'
62            WHEN @INT = 35 THEN @STR + '9'
63            WHEN @INT = 36 THEN @STR + '_'
64            WHEN @INT = 37 THEN @STR + '%'
65            WHEN @INT = 38 THEN @STR + '$'
66            ELSE
67                 @STR + 'A'
68        END    
69        SET @iCount = @iCount + 1;    
70    END
71    SET @result = @STR;
72END
73/*
74转载请说明出处,谢谢
75*/
原文地址:https://www.cnblogs.com/rainnight/p/1424921.html