Cho phép hỗ trợ băm dựa trên blowfish cho tiền điện tử


13

Làm cách nào để tôi hỗ trợ crypt_blowfish cho mật khẩu bị che khuất và PHP trên máy chủ Linux (Debian)?

Tôi đang đề cập đến bcrypt dựa trên Blowfish theo phong cách OpenBSD , được biết đến trong PHP là CRYPT_BLOWFISH.

Theo như tôi biết thì không có gói Debian nào cho nó, tôi còn có những lựa chọn nào khác để kích hoạt thuật toán băm này cho PHP?

Lưu ý: Giao diện kết nối mật mã
của PHP tương đối trực tiếp với chức năng mã hóa thư viện C (3) do hệ điều hành bên dưới cung cấp.

Cập nhật
Đặt tên gói không rõ ràng như có thể (nên).
Gói PEAR Crypt_Blowfish là một sự thay thế thả xuống cho phần mở rộng MCrypt của PHP, cho phép mã hóa blowfish hai chiều nhanh chóng .

Ngoài ra gói Debian BCrypt cũng là một triển khai của thuật toán blowfish hai chiều 'bình thường'.

Những gì tôi đang tìm kiếm là việc triển khai Bcrypt-hash để băm mật khẩu.


"cài đặt lê Crypt_blowfish" không hoạt động?
cori

Gói crypt_blowfish lê là thuật toán mã hóa blowfish hai chiều 'bình thường'. Tôi đang tìm kiếm thuật toán băm dựa trên blowfish.
Jacco

ah, bây giờ tôi thấy vấn đề.
cori

Không biết bạn có thể có tiền thưởng cao hơn cho một câu hỏi sau đó đại diện hiện tại của bạn. Hấp dẫn.
Copas

Rep bị trừ ngay lập tức, vì vậy anh ta có ~ 200 rep và hiện có ~ 50.
ceejayoz

Câu trả lời:


9

Gói bạn cần cài đặt trong debian là libpam-unix2.

Sau đó, bạn sẽ phải chỉnh sửa các tệp sau đây /etc/pam.d/và thay đổi tất cả pam_unix.soviệc sử dụng thành pam_unix2.so:

  • tài khoản chung
  • chung-auth
  • mật khẩu chung
  • phiên họp chung

Cuối cùng, chỉnh sửa common-passwordtập tin và thay thế tham số "md5" bằng "blowfish".

Mật khẩu được cập nhật sau khi những sửa đổi này được thực hiện sẽ được băm bằng cách sử dụng blowfish. Mật khẩu bóng hiện tại không được sửa đổi. Nguồn

Để sử dụng blowfish trong PHP, bạn cung cấp muối blowfish crypt(). Như thế này:

crypt('sting', '$2a$07$' . substr('saltsaltsalt', 0, CRYPT_SALT_LENGTH) ) 

Trước tiên, bạn nên kiểm tra xem CRYPT_BLOWFISH == 1. Và bạn sẽ cần sử dụng một lượng muối đủ dài, bằng (hoặc lớn hơn) 22 ký tự. Nguồn


Hmmm, sau khi thực hiện những thay đổi đó, CRYPT_BLOWFISH vẫn không bằng 1, vì một số lý do.
Kzqai

1
Thông báo trước: nếu phiên bản pam_unix2 của bạn không hỗ trợ thuật toán băm hiện đang được sử dụng cho mật khẩu người dùng, người dùng đó có thể không đăng nhập được. Tôi nghĩ đó là những gì tôi đã chạy trên hộp Debian của mình; một số tài khoản đã sử dụng SHA512 và không thể đăng nhập, nhưng một tài khoản sử dụng MD5 thì có thể. Bạn có thể đặt các mật khẩu đó từ root, vì passwdkhông yêu cầu mật khẩu cũ khi chạy từ root. Quan trọng: giữ phiên gốc của bạn mở cho đến khi bạn chắc chắn rằng bạn có thể đăng nhập lại!
Tom Zych
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.