2017-01-25 7 views
0

Ich manuell importieren von alten Daten in MSSQL mit SQL-Anweisung. wenn ich vom rohen Textpasswort zum MVC 5 passwortHASH Feld in der Datenbank hashing bin. Ich erhält lustige Charaktere. Wie kann ich Hash mvc5 Identitätstabelle einfügen? MVC 5 Tabelle ist die Verwendung nvarchar auchSQL Hashing ein Passwort

select HASHBYTES('SHA2_512', '[email protected]')as beforehash --looks good in result 
0x6BFCC4026B5F162799A6DC8305C09DB9C1674AC616BD5C7422A45FBB6D0816AC163047C47A1F426F4F4C6B5B5042C671EABC4FDC7310FD5B183EEF59DC274604 

declare @afterhash nvarchar(128) 
set @afterhash=HASHBYTES('SHA2_512', '[email protected]') 
select @afterhash as afterhash --funny character if put inside a variable or insert to data base 

ﱫ˄彫✖ꚙ菜쀅릝柁왊봖瑜ꐢ뭟࡭갖〖쑇ὺ潂䱏孫䉐燆볪�ၳ寽㸘姯⟜ц 
+2

Wie ist der Typ des Feldes, in das Sie einfügen möchten? Wenn ihr binäres/varbinary es überhaupt nicht konvertieren muss, wenn ihr nvarchar (es sollte wahrscheinlich nicht sein) und Sie wollen den hexadezimalen Wert als * string * verwenden Sie 'CONVERT (NVARCHAR (130), HASHBYTES ('SHA2_512 ',' P @ ssw0rd '), 1) '(das letzte Argument in' 2' ändern, um das '0x' zu verlieren) –

+0

nice. Ich habe auch die Konvertierungsmethode versucht. aber ich habe nicht das Argument hinzugefügt. Nach dem Hinzufügen des Arguments, es als korrekte Ausgabe drehen. Vielen Dank –

Antwort

3

hashbytes gibt einen varbinary Datentyp, die Sie in eine nvarchar Variable einfügen wollen.

Wenn Sie nicht wollen, diesen Wert als binär zu speichern, aber der Text, den Sie gerade sehen, können Sie ein paar Optionen, je nachdem, ob Sie die 0x Binärpräfix behalten möchten:

declare @afterhash varbinary(500) = HASHBYTES('SHA2_512', '[email protected]') 

select @afterhash as varbinaryValue 
     ,convert(nvarchar(1000), @afterhash, 1) as nvarcharIncludePrefix 
     ,convert(nvarchar(1000), @afterhash, 2) as nvarcharExcludePrefix 

Ausgabe:

varbinaryValue   - 0x6BFCC4026B5F162799A6DC8305C09DB9C1674AC616BD5C7422A45FBB6D0816AC163047C47A1F426F4F4C6B5B5042C671EABC4FDC7310FD5B183EEF59DC274604 
nvarcharIncludePrefix - 0x6BFCC4026B5F162799A6DC8305C09DB9C1674AC616BD5C7422A45FBB6D0816AC163047C47A1F426F4F4C6B5B5042C671EABC4FDC7310FD5B183EEF59DC274604 
nvarcharExcludePrefix - 6BFCC4026B5F162799A6DC8305C09DB9C1674AC616BD5C7422A45FBB6D0816AC163047C47A1F426F4F4C6B5B5042C671EABC4FDC7310FD5B183EEF59DC274604 
Verwandte Themen