sql >> Databáze >  >> RDS >> Sqlserver

Hašování více než 8000 bajtů v SQL Server

Můžete napsat funkci SQL CLR:

[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));
}

A pak to může být voláno v SQL takto:

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

BigHashBytes je nutné pouze v případě, že by délka byla větší než 8 000.



  1. Odstraňte data ze závislých tabulek

  2. Vlastní chybové zprávy PHP Mysqli

  3. Nelze vytvořit rozšíření plv8 postgresql

  4. Jak vybrat všechny řádky HTML tabulky