Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Băm hơn 8000 byte trong SQL Server

Bạn có thể viết một hàm CLR SQL:

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

Và sau đó nó có thể được gọi trong SQL như thế này:

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

BigHashBytes chỉ cần thiết nếu độ dài trên 8k.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sắp xếp SQL chuỗi số sau khi tách

  2. Gặp sự cố với UnixODBC, FreeTDS và PyODBC

  3. Có thể chọn một LỆNH ĐẶT BẰNG cụ thể trong SQL Server 2008 không?

  4. PHP sqlsrv_connect tới SQL Server:Đã xảy ra lỗi liên quan đến mạng hoặc trường hợp cụ thể khi thiết lập kết nối với SQL Server

  5. Mật khẩu SQL Server 2008 kết thúc bằng dấu chấm phẩy