Existe uma maneira de gerar string Hash MD5 do tipo varchar (32) sem usar fn_varbintohexstr
SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', '[email protected]')), 3, 32)
Portanto, ele pode ser usado dentro de uma visualização com SCHEMABINDING
sql-server
tsql
sql-server-2008
Grief Coder
fonte
fonte
Respostas:
fonte
Use HashBytes
Isso lhe dará 0xF53BD08920E5D25809DF2563EF9C52B6
-
Isso lhe dará F53BD08920E5D25809DF2563EF9C52B6
fonte
Solução:
fonte
Nenhuma das outras respostas funcionou para mim. Observe que o SQL Server fornecerá resultados diferentes se você passar uma string codificada em vez de alimentá-la de uma coluna em seu conjunto de resultados. Abaixo está a mágica que funcionou para mim para fornecer uma combinação perfeita entre o SQL Server e o MySql
fonte
LOWER()
só é necessário se fizer distinção entre maiúsculas e minúsculas.MD5
Hash idêntico em comparação com aMD5()
função dePostgresql
. Fiquei me perguntando por que osMD5
hashs são diferentes dePython
ePostgresql
. Obrigado pela receita ..Para dados de até 8.000 caracteres, use:
Demo
Para dados binários (sem o limite de 8.000 bytes), use:
Demo
fonte
tente isto:
fonte
fonte
funciona para mim.
fonte
Você não disse explicitamente que queria que a string fosse hexadecimal; se você estiver aberto para a codificação de string de base 64 com espaço mais eficiente e estiver usando o SQL Server 2016 ou posterior, aqui está uma alternativa:
Isso produz:
fonte