2016-03-30 32 views
0

SQL kullanarak bir tamsayı bir karma oluşturmaya çalışıyorum. Bunun amacı, alınan verilerin senaryoyu çalıştıran kişi tarafından değiştirilmediğini bildiğim bir işlev yaratmaktır. MD5 hash'ının tamsayı olduğunu düşünürsem de, MD5 hash'ının doğru olmamasına bağlı olarak bazı sorunlarla karşılaşıyorum. İşte SQL kullanarak tamsayıdan karma oluştur

Ben

SELECT CONVERT(NVARCHAR(32),HashBytes('MD5', STR(20)),2) as 'MD5' 

döner F63258CAB6D44ED830605298043CBEA4 ve

SELECT CONVERT(NVARCHAR(32),HashBytes('MD5', '20'),2) as 'MD5' 

döner MD5 içine yanlış yapıyorum 98F13708210194C475687BE6106A3B84

Beklenen sonuç 20 dönüştürmek için denemek benim test kodu benim dönüşüm ile

Ayrıca MD5 kullanmam gerekmez. Şifreyi çözmemde kolaylık sağlayacak farklı bir yöntem kullanmanın önerilerine açığım ama ortalama kullanıcı için kodu gördü bile tersine mühendisliği zor.

cevap

3

STR(20) sonucunu kontrol ettiğinizde bazı önde gelen alanları göreceksiniz.

Bunun yerine LTRIM(20) veya cast(20 as varchar(12))'u deneyin.