イムをチェックサムファイルを実行するためにSQL Server 2005でMD5を使用して私は、ファイルをアップロードし、は、MSSQL 2005</p> <p>にvarbinary型のフィールドにアップロードされたファイルのMD5チェックをしようとvarbinary型に
SELECT DATALENGTH(thefile) FROM table
を使用して
ファイルと同じバイト数を取得します。
しかし、(bullzipから)MD5計算機を使用して、私はこのMD5を取得:
20cb960d7b191d0c8bc390d135f63624
とSQLを使用して、私はこのMD5を取得:
44c29edb103a2872f519ad0c9a0fdaaa
フィールドが同じな長さを持っている場合、彼らは異なっている理由と私は同じバイトを仮定?そうする
私のSQLコードはでした:
DECLARE @HashThis varbinary;
DECLARE @md5text varchar(250);
SELECT @HashThis = thefile FROM CFile WHERE id=1;
SET @md5text = SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('MD5',@HashThis)),3,32)
PRINT @md5text;
たぶん、データ型変換?
ヒントを教えてください。
どうもありがとう:)
あなたがバックアウトファイル(複数可)を引くと比較するとそれらはファイルシステムでは、彼らはまだ元のファイルと一致しますか? – MatBailie
サーバーへのアクセスが制限されているため、実際にはできません:( –
DBにファイルをプッシュできますが、回復できません。 – MatBailie