LOGO

LOGO
LOGO
ads header

Breaking News

MSS SQL de bir string hash algoritması..(Veritabanına şifre gibi alanları kaydetmede kullanabilirsiniz)


HASHBYTES ( '<algorithm>', { @input | 'input' } ) <algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512


https://docs.microsoft.com/en-us/sql/t-sql/functions/hashbytes-transact-sql?view=sql-server-ver15



DECLARE @TestData NVARCHAR(MAX) = 'Vedat PALA'
SELECT HASHBYTES ('MD2', @TestData) AS [Hash value], DATALENGTH(HASHBYTES ('MD2', @TestData)) AS [Data lenght];
SELECT HASHBYTES ('MD4', @TestData) AS [Hash value], DATALENGTH(HASHBYTES ('MD4', @TestData)) AS [Data lenght];
SELECT HASHBYTES ('MD5', @TestData) AS [Hash value], DATALENGTH(HASHBYTES ('MD5', @TestData)) AS [Data lenght];
SELECT HASHBYTES ('SHA', @TestData) AS [Hash value], DATALENGTH(HASHBYTES ('SHA', @TestData)) AS [Data lenght];
SELECT HASHBYTES ('SHA1', @TestData) AS [Hash value], DATALENGTH(HASHBYTES ('SHA1', @TestData)) AS [Data lenght];
SELECT HASHBYTES ('SHA2_256', @TestData) AS [Hash value], DATALENGTH(HASHBYTES ('SHA2_256', @TestData)) AS [Data lenght];
SELECT HASHBYTES ('SHA2_512', @TestData) AS [Hash value], DATALENGTH(HASHBYTES ('SHA2_512', @TestData)) AS [Data lenght];



Buradaki son paremetre 2,1  convert edilen değişkenin önündeki 0x kaldırmaya yarar..(2 yazarsanız kalkar)

select CONVERT(VARCHAR(32), HashBytes('MD5', 'vp789'), 2)
select CONVERT(VARCHAR(32), HashBytes('MD5', 'vp789'), 1)


Sayının varchar ve nvarchar olmasına göre üretilen şifre farkı olur...

SELECT HASHBYTES ('SHA2_512', N'Vedat PALA') AS [Hash value 1];
SELECT HASHBYTES ('SHA2_512', 'Vedat PALA') AS [Hash value 2];


Eğer c# da kod yazarak şifrelemek isterseniz  ise



public static string MD5Kripto(string Metin)
{
    byte[] encodedBytes;
    using (var md5 = new MD5CryptoServiceProvider())
    {
        var originalBytes = Encoding.Default.GetBytes(original);
        encodedBytes = md5.ComputeHash(originalBytes);
    }
    return Convert.ToBase64String(encodedBytes);
}




Hiç yorum yok