三种随便密码生成sql存储过程

本文章分享了几款关于三种随便密码生成sql存储过程,有需要学习的同学可以参考一下下哈。

随机产生密码,insus.net总结了三个,并分别写成了存储过程。

第一个,

 代码如下复制代码

usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] 
(
@Length INT = 8
)
AS
BEGIN 
DECLARE @RandomPassword NVARCHAR(MAX) = N”,@L INT = 1
WHILE @L BEGIN
–随机产生每一位字符,ASCII码48至122
DECLARE @RndChar CHAR(1) = CHAR(ROUND(RAND() * (122-48+1) + 48,0))
–随机产生的字符不包括下面字符
IF ASCII(@RndChar) NOT IN(58,59,60,61,62,63,64,91,92,93,94,95,96) — : , ; ,  , ? ,@ , [ ,  , ] , ^ , _ , `
BEGIN
SET @RandomPassword = @RandomPassword + @RndChar
SET @L = @L + 1
END 
END
SELECT @RandomPassword
END

第二个,

 代码如下复制代码 usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] 
(
@Length INT = 8
)
AS
BEGIN 
DECLARE @RandomPassword NVARCHAR(MAX) = N”,@L INT = 1
随机密码将由下面字符串产生,数字0-9,大写字母A-Z,小写字母a-z
DECLARE @BaseString VARCHAR(255) = ‘0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz’ 
WHILE @L BEGIN
–61是变量@BaseString的长度减一
SET @RandomPassword = @RandomPassword + SUBSTRING(@BaseString, CONVERT(INT,ROUND(RAND() * 61 + 1,0)),1)
SET @L = @L + 1
END
SELECT @RandomPassword
END

第三个,

 代码如下复制代码 usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] 
(
@Length INT = 8
)
AS
BEGIN 
DECLARE @RandomPassword NVARCHAR(MAX) = N” 
DECLARE @R TINYINT,@L INT = 1 
WHILE @L BEGIN
SET @R = ROUND(RAND() * 2, 0) –随机产生0,1,2整数
IF @R = 0 –当变量为0时,将随机产生一位数字
SET @RandomPassword = @RandomPassword + CHAR(ROUND(RAND() * 9 + 48,0)) 
ELSE IF @R = 1 –当变量为1时,将随机产生一位大写字母
SET @RandomPassword = @RandomPassword + CHAR(ROUND(RAND() * 25 + 65,0)) 
ELSE IF @R = 2 –当变量为2时,将随机产生一位小写字母
SET @RandomPassword = @RandomPassword + CHAR(ROUND(RAND() * 25 + 97,0)) 
SET @L = @L + 1
END
SELECT @RandomPassword
END

最后一个也可以重构写成:

 代码如下复制代码

usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] 
(
@Length INT = 8
)
AS
BEGIN 
DECLARE @RandomPassword NVARCHAR(MAX) = N”,@L INT = 1 
WHILE @L BEGIN 
DECLARE @R INT = ROUND(RAND() * 2, 0) 
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)) END 
SET @L = @L + 1 
END
SELECT @RandomPassword
END

Also reference:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1834196.html

(0)
上一篇 2025年2月21日 21:28:39
下一篇 2025年2月21日 21:28:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • MySQL备份还原(视图、存储过程)

    最近在备份还原mysql的时候发现,视图还原报错,无法创建视图,在网上查了下资料,找到以下信息:1、如果备份的数据库含有视图,还 最近在备份还原mysql的时候发现,视图还原报错,无法创建视图,在网上查了下资料,找到以下信息:1、如果备份的…

    数据库 2025年2月22日
    100
  • 如何在PHP中使用Oracle数据库的存储过程和函数

    如何在php中使用oracle数据库的存储过程和函数 引言:Oracle是一种常用的关系型数据库管理系统,在开发中,我们经常需要使用存储过程和函数来提供更高效、灵活的数据处理能力。本文将介绍如何在php中使用oracle数据库的存储过程和函…

    编程技术 2025年2月22日
    100
  • 【原创】用第三方语言编写PostgreSQL 存储函数

    在PostgreSQL里,所有的存储函数需求都可以用PLPGSQL来实现。同时也支持用第三方语言来编写,这个就得看自己哪个方面熟练了。不过要注意的一点是PLPGSQL的效率怎 在postgresql里,所有的存储函数需求都可以用plpgsq…

    数据库 2025年2月22日
    100
  • 如何使用thinkorm快速实现数据库的触发器和存储过程

    如何使用thinkorm快速实现数据库的触发器和存储过程 引言:在开发和维护数据库时,触发器和存储过程是非常重要的工具。他们可以使我们的数据库操作更加灵活高效。本文将介绍如何使用thinkorm快速实现数据库的触发器和存储过程,并通过代码示…

    编程技术 2025年2月22日
    100
  • PHP和PDO: 如何执行存储过程

    php和pdo: 如何执行存储过程 存储过程是在数据库中预先定义好的一组SQL语句,可以在需要时被调用执行。它具有模块化、可复用的特点,可以大大简化复杂的SQL操作。在PHP中,可以使用PDO(PHP Data Objects)扩展来执行存…

    编程技术 2025年2月22日
    100
  • 【原创】利用MySQL触发器高性能造数据

    MySQL触发器功能比较简单,大部分只用来简单的更新第三方表,今天我来演示下MySQL触发器在造数据方面的功效。下面是基表结果:CREATETABLE`tb1`(&n..  mysql 触发器功能比较简单,大部分只用来简单的更新第三…

    数据库 2025年2月22日
    100
  • all权限用户无法执行存储过程

    我们使用存储过程的时候,往往只注意要给调用存储过程的账号赋予相应权限,但是实际上存储过程定义用户与这个存储过程能否被执行有直接关系,如果不知道这点,即    我们使用存储过程的时候,服务器空间,往往只注意要给调用存储过程的账号赋予相应权限,…

    数据库 2025年2月22日
    100
  • php 调用mssql 2000存储过程代码

    php 调用mssql 2000存储过程代码 php 调用mssql 2000存储过程代码这是我昨天做出来了哦,下面我们先看看利用php调用mssql的存储过程的代码吧 $start = isset($_GET[‘start&#…

    数据库 2025年2月21日
    100
  • 高效mssql存储过程分页代码(1/6)

    在一般的小数据分页是我们就用简单的分页功能就可以了,但如果上百万级数据分页了,那么我就不得不考虑到高效mssql存储过程分页代码哦。declare @TotalCount int declare @TotalPageCount int ex…

    数据库 2025年2月21日
    100
  • mssql千万级分页存储过程分享

    文章找到了两篇关于mssql server存储过程的高效分页代码,有需要的朋友可以参考一下。  代码如下复制代码 Create PROC P_viewPage             /**//*              nzperfec…

    数据库 2025年2月21日
    100

发表回复

登录后才能评论