我想创建一个为给定长度生成随机密码的函数。它应该生成至少 8 个长度的密码,其中包括至少 2 个数字、3 个字母、3 个特殊字符,例如:a8b*4/c1+
我找到了一些代码并将其混合在一起,但我无法正确执行任何人都可以帮助我了解如何创建此功能。
CREATE FUNCTION random_password(@length ID)
RETURNS VARCHAR(8)
AS
BEGIN
-- Declare the variables here
DECLARE @Result VARCHAR(8)
DECLARE @BinaryData VARBINARY(8)
DECLARE @CharacterData VARCHAR(8)
DECLARE @randval VARCHAR(8)
randval = CRYPT_GEN_RANDOM(8)
SELECT @BinaryData = randval
FROM vRandom
Set @CharacterData=cast ('' as xml).value ('xs:base64Binary(sql:variable("@BinaryData"))',
'varchar (max)')
SET @Result = @CharacterData
-- Return the result of the function
RETURN @Result
END