kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170809201927_KRETA_2569/userPlainTextPasswordUpdateToSHA1.sql
2024-03-13 00:33:46 +01:00

55 lines
No EOL
1.3 KiB
Transact-SQL

IF OBJECT_ID('dbo.getRand', 'V') IS NOT NULL BEGIN
DROP VIEW dbo.getRand;
END;
GO
CREATE VIEW dbo.getRand AS
SELECT RAND(CHECKSUM(NEWID())) AS newId
GO
DISABLE trigger TR_FELHASZNALOBELEPESLOG ON T_FELHASZNALOBELEPES
IF OBJECT_ID('dbo.fnConvertBase64') IS NOT NULL BEGIN
DROP FUNCTION dbo.fnConvertBase64
END
GO
CREATE FUNCTION dbo.fnConvertBase64 (@source VARBINARY(MAX))
RETURNS NVARCHAR(64)
BEGIN
RETURN CAST('' AS XML).value('xs:base64Binary(sql:variable(''@source''))', 'varchar(max)')
END;
GO
GO
UPDATE fb
SET
fb.C_JELSZO = src.pwValue,
fb.C_SO = src.randomValue
FROM [dbo].[T_FELHASZNALOBELEPES] AS fb
INNER JOIN (SELECT
felhasznalobelepes.ID,
dbo.fnConvertBase64(HASHBYTES('SHA1', CONVERT(VARBINARY(MAX), CONVERT(NVARCHAR(MAX), felhasznalobelepes.C_JELSZO+RND)))) AS pwValue
,RND AS randomValue
FROM
(SELECT
ID,
C_NEPTUNNAPLOJELSZO,
C_SO,
C_JELSZO,
CAST((SELECT * FROM dbo.getRand) AS nvarchar(64)) AS RND
FROM dbo.T_FELHASZNALOBELEPES
WHERE
C_NEPTUNNAPLOJELSZO IS NULL AND
C_SO IS NULL AND
C_JELSZO IS NOT NULL) AS felhasznalobelepes) src ON fb.ID = src.ID
GO
IF OBJECT_ID('dbo.fnConvertBase64') IS NOT NULL BEGIN
DROP FUNCTION dbo.fnConvertBase64
END
GO
ENABLE trigger TR_FELHASZNALOBELEPESLOG ON T_FELHASZNALOBELEPES