sql >> Database >  >> RDS >> Sqlserver

Hashing van meer dan 8000 bytes in SQL Server

Je zou een SQL CLR-functie kunnen schrijven:

[Microsoft.SqlServer.Server.SqlFunction]
public static SqlBinary BigHashBytes(SqlString algorithm, SqlString data)
{
    var algo = HashAlgorithm.Create(algorithm.Value);

    var bytes = Encoding.UTF8.GetBytes(data.Value);

    return new SqlBinary(algo.ComputeHash(bytes));
}

En dan kan het in SQL als volgt worden aangeroepen:

--these return the same value
select HASHBYTES('md5', 'test stuff')
select dbo.BigHashBytes('md5', 'test stuff')

De BigHashBytes is alleen nodig als de lengte meer dan 8k zou zijn.



  1. Postgres:vacuümcommando ruimt dode tupels niet op

  2. Fout bij het invoegen van urdu-gegevens in php Mysql

  3. Kopieer gegevens van het ene veld naar het andere op elke rij

  4. MySQL Left Joins:selecteer alles uit één tabel, maar pas de waarde in de tweede tabel met criteria aan