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

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

 1 --  =============================================
 2 --  Author:        飘渺峰
 3 --  Create date: 2009-03-30
 4 --  Description:    获取指定长度的随机字符串
 5 --  =============================================
 6 ALTER   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    */

16 AS
17 BEGIN
18      SET   @result   =   '' ;
19      DECLARE   @STR   VARCHAR ( MAX ),  @INT   INT @iCount   INT
20      SET   @STR   =   '' SET   @INT   =   0 SET   @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 ()  *   38 AS   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 ;
72 END
73 /*
74转载请说明出处,谢谢
75*/

你可能感兴趣的:(SHA1)