2008-10-30 37 views

回答

2

應該產生一個32字節的值(256位),所以二進制(32)應該工作。

4

SHA256Managed類的「Hash」屬性是一個字節數組,而HashSize是256位,所以我認爲二進制文件(32)是最簡單的。

您可能也可以使用ToBase64Transform將它放到varchar字段中。我對Base64算法並不完全熟悉,但看起來您可能需要至少43個字符來表示64位的256位數。IIRC Base64使用了一對填充字符,所以我可能會將它放在varchar(50)只是爲了安全起見。

+0

我在char(44)字段中存儲爲base64。不像六角弦那樣浪費,並且具有Peter提到的優點。 – AlexDev 2013-12-11 11:58:24

1

SHA-256具有256位輸出

256位= 32個字節

所以儘量VARBINARY(32)

12

我喜歡的哈希碼轉換爲十六進制字符串在這種情況下,如果您喜歡「0x」前綴,則varchar(64)將執行該操作,或使用varchar(66)。通過這種方式,您可以比較容易地手動比較或(重新)設置您必須從其他位置複製/粘貼的值。例如,您丟失了管理員密碼並希望通過SQL將其重置...

相關問題