zoukankan      html  css  js  c++  java
  • 密码需要带特殊字符

    “Hi,我看了你这篇 三个随机产生密码的存储过程 最后一种的写法随机产生密码,觉得很好,并应用在我的程序中,但是上星期老板对我说,要在随机产生的密码带有特殊字符。我再次测试过之后,才发现你的函数产生的密码只是大小写英文字母和数字,并无包含特殊字符,我要怎样改它呢?”

    上面全文来自QQ留言。

    解决你的问题,需要使用上面相同一篇博文的第二种方法相结合,才可以,其实方法还有其它的,下面仅是Insus.NET想到的一种,仅供你参考,有问题,请继续来信,留言或在线讨论:

    usp_RandomPassword
    ALTER PROCEDURE [dbo].[usp_RandomPassword] 
    (
       @Length INT = 8
    )
    AS
    BEGIN  
        DECLARE @RandomPassword  NVARCHAR(MAX= N'',@L INT = 1   
        --下面的变量,你可以自定制需要的特殊字符
        DECLARE @SpecialCharacter NVARCHAR(255= '@#$%&*?'
        WHILE @L <= @Length 
        BEGIN         
           --下面这句,Insus.NET把2改为3。
            DECLARE @R INT = ROUND(RAND() * 30
            SET @RandomPassword = @RandomPassword + CASE @R
            WHEN 0 THEN CHAR(ROUND(RAND() * 9 + 48,0)) 
            WHEN 1 THEN CHAR(ROUND(RAND() * 25 + 65,0)) 
            WHEN 2 THEN CHAR(ROUND(RAND() * 25 + 97,0)) 
            WHEN 3 THEN SUBSTRING(@SpecialCharacterCONVERT(TINYINT,ROUND(RAND() * 6 + 1,0)),1END  --添加此句                                           
            SET @L = @L + 1        
        END
        SELECT @RandomPassword
    END

      

    升级篇,可参考:密码需要带特殊字符(二)

  • 相关阅读:
    个人总结
    第三次个人作业
    第二次结对作业
    第一次结对作业
    第二次个人编程作业
    第一次博客编程作业
    第一次随笔作业
    BUAA_2020_软件工程_提问回顾与总结
    BUAA_2020_软件工程_软件案例分析作业
    BUAA_2020_软件工程_结对项目作业
  • 原文地址:https://www.cnblogs.com/insus/p/2339720.html
Copyright © 2011-2022 走看看