質問

SQL Server 2008のストアドプロシージャから文字列のSHA-256ハッシュを生成することは可能ですか?

展開上の理由から、TSQLでそれを望みます。

役に立ちましたか?

解決

アップデート: :SQL Server 2012 Hashbytes() 現在、SHA-256とSHA-512を箱から出してサポートしています。

HASHBYTES ( '<algorithm>', { @input | 'input' } )

<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512

もちろん。あなたはTSQLでそれを行うことができますが、それを実装する方がはるかに簡単になります CLRストアドプロシージャ.

以下は、.NETフレームワークタイプを単に使用する実際の例です。 ブロブをハッシュしましょう

他のヒント

SHA256、SQL Server 2008またはSQL Server 2005のSHA512!

fnencryptsha.dllを使用する場合はできます!!

USE [master] GO
EXEC sp_configure 'clr enabled', 1 GO RECONFIGURE GO

CREATE ASSEMBLY InnoDll FROM 'C:\sqltip\fnEnCryptSHA.dll' WITH PERMISSION_SET= SAFE GO

CREATE FUNCTION dbo.fnGetStringToSha256 (@Str nvarchar(1000)) RETURNS varbinary(8000) AS EXTERNAL NAME InnoDll.fnEnCryptSHA.GetStringToSha256 GO

CREATE FUNCTION dbo.fnGetBinaryToSha256 (@Str varbinary(8000)) RETURNS varbinary(8000) AS EXTERNAL NAME InnoDll.fnEnCryptSHA.GetBinaryToSha256 GO

SELECT dbo.fnGetStringToSha256('abc')

SELECT dbo.fnGetBinaryToSha256(0x9F04F41A848514162050E3D68C1A7ABB441DC2B5)

SHA-256である必要がありますか。 SQLがあります HASHBYTES() SHA、SHA1、MD5などを実行できる関数。

(もちろん、値のハッシュ表現が必要なのか、貴重なデータを安全に保存するかによって異なります。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top