2011-12-03 47 views
6

Tôi đã tạo biểu mẫu đăng nhập nhưng không phải là biểu mẫu đăng ký để tôi đưa chi tiết người dùng trực tiếp vào cơ sở dữ liệu sql.
Tôi đã phát hiện ra rằng cakephp tự động băm mật khẩu khi người dùng cố gắng đăng nhập, nhưng tại thời điểm tôi không thể đăng nhập vì mật khẩu trong cơ sở dữ liệu không được băm.
cách cakephp băm mật khẩu?Đập mật khẩu

Muối bảo mật của tôi là Dhhfei38fhDg37dg6Dg208Dh3h380Hrjd3

Bạn có thể vui lòng cho tôi biết công việc của bạn không?

Trả lời

8

mật khẩu băm trong cakephp được tạo ra bởi:

$hashedPasswords = Security::hash($yourPass, NULL, true); 

Check the cakephp manual for more info

+2

Tôi khuyên bạn nên sử dụng một hành vi để giữ cho mã DRY: dereuromark.de/2011/08/25/working-with-passwords -in-cakephp – mark

2

Thêm người dùng mới bằng mật khẩu. Bạn có thể lấy giá trị băm của mật khẩu của người dùng mới và dán nó vào các bản ghi của người dùng khác.

+0

tôi havn't tạo biểu mẫu đăng ký được nêu ra, mặc dù đã được chỉ tự hỏi nếu bất cứ ai biết làm thế nào bánh nó soi có thể rời khỏi hình thức đăng ký cho đến sau này nhưng vẫn có thể đăng nhập. Cảm ơn – Chris

2

Tính đến CakePHP 2.0, Bánh chỉ băm mật khẩu trong quá trình đăng nhập, vào nơi khác (như đăng ký-phương pháp ...), mật khẩu sẽ không được băm tự động, đó là bởi vì nó được coi là một hành vi kỳ lạ đối với những người mới đến cakephp. Nếu bạn muốn băm mật khẩu, bạn cần sử dụng phương pháp Sudhir đã đề cập. Một trong những ưu điểm mà bánh không tự động băm mật khẩu nữa là bạn có thể dễ dàng kiểm tra độ phức tạp của mật khẩu (nếu có các ký tự đặc biệt, số, chữ cái ecc).