2017-04-22 99 views
1

每建議的條紋網站上隨機哈希:如何產生條紋狀

CSRF Protection To prevent CSRF attacks, use the state parameter, passing along a unique token as the value. We’ll include the state you gave us when we redirect back.

我想包括在我的網址一state參數,以確保我的應用程序。我認爲現在已經足夠清楚了,state參數應該是唯一的,安全的,並且只是一系列字符,它們會通知我的應用程序哪個用戶剛被Stripe連接授權。我將把這個值存儲在我的數據庫中,當用戶返回時,我會知道他們是誰,並能夠將他們引導到正確的位置。所以我的下一個問題。我如何創建獨特的令牌?我有一個獨立的令牌,它是從我的應用程序的單獨部分的OAuth提供程序返回的,但我沒有將它保存到數據庫中。

是否有建議的方式在我的節點服務器上創建此類型的唯一標記?應該是md5還是sh1?我應該把用戶名和一個隨機字符串保存在我的數據庫中,就好像它是鹽和散列一樣?

require('crypto').createHash('md5').update(STRING_TO_BE_HASH‌​ED + SALT).digest("hex")

上午我這得太多?

回答

1

您可能想要使用功能齊全的CSRF中間件(如csurf)來管理CSRF令牌,但如果要自己生成令牌,則應該使用任何「足夠隨機」的值。像這樣的應該做的伎倆:

const crypto = require('crypto'); 
var token = crypto.randomBytes(64).toString('hex');