簡體   English   中英

如何使用CakePHP哈希算法和SALT編寫用於在CakePHP網站數據庫的MySQL中生成加密密碼的SQL語句?

[英]How to write SQL statement for generating encrypted password in MySQL for CakePHP website database using CakePHP hashing algorithm and SALT?

我有一個MySQL數據庫和User表。 我在用戶表中存儲具有不同角色的不同類型的用戶。

我正在使用CakePHP框架。 在我的core.php文件中,我添加了SALT和HASH代碼以將加密的密碼存儲在DB中。 現在到目前為止,這里一切都很好。 CakePHP將確保將加密的密碼存儲在DB中。

考慮這種情況:我正在嘗試注冊Webmaster / WebAdmin用戶。 我將無法提供WebMaster的“注冊用戶”鏈接。 只有從后端,我才可以添加WebAdmin / Webmaster用戶。

因此,我需要能夠創建Admin用戶並使用SQL語句並使用CakePHP所使用的相同HASH和SALT來從前端頁面授權/認證WebAdmin用戶來存儲其密碼。

我對如何為MySQL DB編寫此類SQL語句來完成此任務不是很熟悉。 而且我不確定這是否可以實現。 如何做到這一點?

如果沒有任何效果,那么我將必須提供一個臨時視圖進行注冊,然后從代碼中刪除該視圖。 但是,如果有一種方法可以使用MySQL DB上的SQL語句來實現這一目標,那么我真的不喜歡該選項。

最可移植的方法是在編寫時在用戶控制器中添加“秘密”功能和視圖,因為您不完全了解CakePHP如何處理鹽和哈希。 它可以使用任何可用的哈希函數。

但是,如果您已經簽入代碼(如果該帳戶已經存在),則添加這樣的功能並不是很糟糕。 即使有人猜測該URL,該帳戶也只會添加一次。 當然,一旦創建了acocunt,您應該立即登錄並將密碼更改為您的代碼中沒有的密碼。

另一種選擇是首先以普通用戶身份創建管理員,然后使用PHPMyAdmin或命令行mysql直接在數據庫中更改帳戶的特權級別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM