लूप एक मेज के माध्यम से और SHA256 बेस 64 हैश के साथ एक क्षेत्र सांकेतिक शब्दों में बदलना

वोट
-1

मैं एक स्तंभ है कि वर्तमान में अपने स्वयं के SHA256 base64 पासवर्ड के साथ एक सादा पाठ पासवर्ड शामिल अपडेट करना होगा। इसलिए मैं प्रत्येक रिकॉर्ड लूप करने के लिए एक कर्सर का उपयोग कर रहा करने के लिए और पासवर्ड सांकेतिक शब्दों में बदलना है, लेकिन निष्पादन के बाद सभी रिकॉर्ड एक ही एन्कोड पासवर्ड है।

DECLARE @hash AS VARBINARY(128); 
DECLARE @h64 AS VARCHAR(128);
DECLARE @pass AS VARCHAR(500);
DECLARE @id AS INTEGER;

DECLARE cursor1 CURSOR 
    FOR SELECT [ID] FROM dbo.Table
OPEN cursor1
FETCH NEXT FROM cursor1 INTO @id
WHILE @@FETCH_STATUS = 0  
    BEGIN   
        SET @pass = (SELECT [Password] FROM dbo.Table WHERE ID = @id);
        SET @hash = HASHBYTES('SHA2_256', @pass);
        SET @h64 = CAST(N'' AS xml).value('xs:base64Binary(sql:variable(@hash))', 'varchar(128)');
        UPDATE dbo.Table SET [Password] = @h64;         
        FETCH NEXT FROM cursor1 INTO @id;  
    END;
DEALLOCATE cursor1;
19/03/2020 को 21:58
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more