Hướng dẫn what is password default in php? - mật khẩu mặc định trong php là gì?

(Php 5> = 5.5.0, Php 7, Php 8)

password_hash - Tạo mật khẩu bămCreates a password hash

Sự mô tả

password_hash (chuỗi $password, chuỗi | int | null $algo, mảng $options = []): chuỗi(string $password, string|int|null $algo, array $options = []): string

Các thuật toán sau đây hiện đang được hỗ trợ:

  • PASSWORD_DEFAULT - Sử dụng thuật toán BCRYPT (mặc định kể từ Php 5.5.0). Lưu ý rằng hằng số này được thiết kế để thay đổi theo thời gian vì các thuật toán mới và mạnh hơn được thêm vào PHP. Vì lý do đó, độ dài của kết quả từ việc sử dụng định danh này có thể thay đổi theo thời gian. Do đó, nên lưu trữ kết quả trong cột cơ sở dữ liệu có thể mở rộng vượt quá 60 ký tự (255 ký tự sẽ là một lựa chọn tốt). - Use the bcrypt algorithm (default as of PHP 5.5.0). Note that this constant is designed to change over time as new and stronger algorithms are added to PHP. For that reason, the length of the result from using this identifier can change over time. Therefore, it is recommended to store the result in a database column that can expand beyond 60 characters (255 characters would be a good choice).
  • PASSWORD_BCRYPT - Sử dụng thuật toán CRYPT_BLOWFISH để tạo băm. Điều này sẽ tạo ra một hàm băm tương thích Crypt () tiêu chuẩn sử dụng định danh "$ 2y $". Kết quả sẽ luôn là chuỗi 60 ký tự hoặc
    $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
    
    0 khi thất bại.
    - Use the CRYPT_BLOWFISH algorithm to create the hash. This will produce a standard crypt() compatible hash using the "$2y$" identifier. The result will always be a 60 character string, or
    $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
    
    0
    on failure.
  • $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
    
    1 - Sử dụng thuật toán băm argon2i để tạo băm. Thuật toán này chỉ khả dụng nếu PHP đã được biên dịch với hỗ trợ argon2.
    - Use the Argon2i hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.
  • $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
    
    2 - Sử dụng thuật toán băm argon2id để tạo băm. Thuật toán này chỉ khả dụng nếu PHP đã được biên dịch với hỗ trợ argon2.
    - Use the Argon2id hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.

Các tùy chọn được hỗ trợ cho PASSWORD_BCRYPT:PASSWORD_BCRYPT:

  • $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
    
    4 (Chuỗi) - Để cung cấp muối theo cách thủ công khi sử dụng khi băm mật khẩu. Lưu ý rằng điều này sẽ ghi đè và ngăn muối được tự động tạo.string) - to manually provide a salt to use when hashing the password. Note that this will override and prevent a salt from being automatically generated.

    Nếu bị bỏ qua, một loại muối ngẫu nhiên sẽ được tạo bằng password_hash () cho mỗi mật khẩu băm. Đây là chế độ hoạt động dự định.password_hash() for each password hashed. This is the intended mode of operation.

    Cảnh báo

    Tùy chọn muối không được chấp nhận. Bây giờ nó được ưu tiên chỉ sử dụng muối được tạo theo mặc định. Kể từ Php 8.0.0, một loại muối được đưa ra rõ ràng bị bỏ qua.

  • $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
    
    5 (int) - biểu thị chi phí thuật toán nên được sử dụng. Ví dụ về các giá trị này có thể được tìm thấy trên trang Crypt ().int) - which denotes the algorithmic cost that should be used. Examples of these values can be found on the crypt() page.

    Nếu bị bỏ qua, giá trị mặc định là

    $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
    
    6 sẽ được sử dụng. Đây là một chi phí cơ bản tốt, nhưng bạn có thể muốn xem xét tăng nó tùy thuộc vào phần cứng của bạn.

Các tùy chọn được hỗ trợ cho

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
1 và
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
2:
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
1
and
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
2
:

  • $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
    
    9 (int) - Bộ nhớ tối đa (tính bằng kibibyte) có thể được sử dụng để tính toán băm argon2. Mặc định là
    Appropriate Cost Found: 10
    
    0.int) - Maximum memory (in kibibytes) that may be used to compute the Argon2 hash. Defaults to
    Appropriate Cost Found: 10
    
    0
    .

  • Appropriate Cost Found: 10
    
    1 (int) - Khoảng thời gian tối đa có thể mất để tính toán băm argon2. Mặc định là
    Appropriate Cost Found: 10
    
    2.int) - Maximum amount of time it may take to compute the Argon2 hash. Defaults to
    Appropriate Cost Found: 10
    
    2
    .

  • Appropriate Cost Found: 10
    
    3 (int) - Số lượng luồng để sử dụng để tính toán băm argon2. Mặc định là
    Appropriate Cost Found: 10
    
    4.int) - Number of threads to use for computing the Argon2 hash. Defaults to
    Appropriate Cost Found: 10
    
    4
    .

    Cảnh báo

    Tùy chọn muối không được chấp nhận. Bây giờ nó được ưu tiên chỉ sử dụng muối được tạo theo mặc định. Kể từ Php 8.0.0, một loại muối được đưa ra rõ ràng bị bỏ qua.

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K 5 (int) - biểu thị chi phí thuật toán nên được sử dụng. Ví dụ về các giá trị này có thể được tìm thấy trên trang Crypt ().

Nếu bị bỏ qua, giá trị mặc định là
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
6 sẽ được sử dụng. Đây là một chi phí cơ bản tốt, nhưng bạn có thể muốn xem xét tăng nó tùy thuộc vào phần cứng của bạn.

Các tùy chọn được hỗ trợ cho

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
1 và
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
2:

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
9 (int) - Bộ nhớ tối đa (tính bằng kibibyte) có thể được sử dụng để tính toán băm argon2. Mặc định là
Appropriate Cost Found: 10
0.

Appropriate Cost Found: 10
1 (int) - Khoảng thời gian tối đa có thể mất để tính toán băm argon2. Mặc định là
Appropriate Cost Found: 10
2.PASSWORD_BCRYPT as the algorithm, will result in the
Appropriate Cost Found: 10
5 parameter being truncated to a maximum length of 72 bytes.

Appropriate Cost Found: 10
3 (int) - Số lượng luồng để sử dụng để tính toán băm argon2. Mặc định là
Appropriate Cost Found: 10
4.

Chỉ có sẵn khi PHP sử dụng libargon2, không phải với việc thực hiện libsodium.

Thông số

Appropriate Cost Found: 10
5

Mật khẩu của người dùng.

Thận trọng

Sử dụng PASSWORD_BCRYPT làm thuật toán, sẽ dẫn đến tham số

Appropriate Cost Found: 10
5 bị cắt theo chiều dài tối đa là 72 byte.

Appropriate Cost Found: 10
8password_verify() function to verify the hash without needing separate storage for the salt or algorithm information.

Một thuật toán mật khẩu hằng số biểu thị thuật toán sẽ sử dụng khi băm mật khẩu.

Appropriate Cost Found: 10
9
Sự mô tả
8.0.0 Một mảng kết hợp có chứa các tùy chọn. Xem các hằng số thuật toán mật khẩu để biết tài liệu về các tùy chọn được hỗ trợ cho mỗi thuật toán. no longer returns
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
0
on failure.
8.0.0 Nếu bị bỏ qua, một loại muối ngẫu nhiên sẽ được tạo ra và chi phí mặc định sẽ được sử dụng.
7.4.0 Trả về giá trịstring now, but still accepts ints for backward compatibility.
7.4.0 Trả về mật khẩu băm.
7.3.0 Thuật toán đã sử dụng, chi phí và muối được trả lại như một phần của băm. Do đó, tất cả thông tin cần thiết để xác minh hàm băm được bao gồm trong đó. Điều này cho phép hàm password_verify () xác minh băm mà không cần lưu trữ riêng cho thông tin muối hoặc thuật toán.
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
2
was added.
7.2.0 Thay đổi
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
1
was added.

Phiên bản

password_hash () không còn trả về

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
0 khi thất bại.password_hash() example

Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0
5

Tham số

Appropriate Cost Found: 10
8 bây giờ là không thể.

$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a

Tham số

Appropriate Cost Found: 10
8 mong đợi một chuỗi bây giờ, nhưng vẫn chấp nhận INTS cho khả năng tương thích ngược.password_hash() example setting cost manually

Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0
6

Tham số

Appropriate Cost Found: 10
8 bây giờ là không thể.

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K

Tham số

Appropriate Cost Found: 10
8 mong đợi một chuỗi bây giờ, nhưng vẫn chấp nhận INTS cho khả năng tương thích ngược.password_hash() example finding a good cost

Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0
7

Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0
8

Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0
9

Tham số

Appropriate Cost Found: 10
8 bây giờ là không thể.

Appropriate Cost Found: 10

Tham số

Appropriate Cost Found: 10
8 mong đợi một chuỗi bây giờ, nhưng vẫn chấp nhận INTS cho khả năng tương thích ngược.password_hash() example using Argon2i

$password0

Tham số

Appropriate Cost Found: 10
8 bây giờ là không thể.

Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0

Tham số Appropriate Cost Found: 10 8 mong đợi một chuỗi bây giờ, nhưng vẫn chấp nhận INTS cho khả năng tương thích ngược.

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
9 (int) - Bộ nhớ tối đa (tính bằng kibibyte) có thể được sử dụng để tính toán băm argon2. Mặc định là
Appropriate Cost Found: 10
0.

Appropriate Cost Found: 10
1 (int) - Khoảng thời gian tối đa có thể mất để tính toán băm argon2. Mặc định là
Appropriate Cost Found: 10
2.

Appropriate Cost Found: 10
3 (int) - Số lượng luồng để sử dụng để tính toán băm argon2. Mặc định là
Appropriate Cost Found: 10
4.

Ghi chú::

Bạn nên kiểm tra chức năng này trên máy chủ của mình và điều chỉnh tham số chi phí để thực hiện chức năng mất ít hơn 100 mili giây trên các hệ thống tương tác. Kịch bản trong ví dụ trên sẽ giúp bạn chọn giá trị chi phí tốt cho phần cứng của mình.

Lưu ý: Cập nhật các thuật toán được hỗ trợ bởi hàm này (hoặc thay đổi đối với một mặc định) phải tuân theo các quy tắc sau:: Updates to supported algorithms by this function (or changes to the default one) must follow the following rules:

  • Bất kỳ thuật toán mới nào cũng phải nằm trong lõi cho ít nhất 1 phát hành PHP đầy đủ trước khi trở thành mặc định. Vì vậy, nếu, ví dụ, một thuật toán mới được thêm vào trong 7.5.5, nó sẽ không đủ điều kiện mặc định cho đến 7.7 (vì 7.6 sẽ là bản phát hành đầy đủ đầu tiên). Nhưng nếu một thuật toán khác được thêm vào trong 7.6.0, thì nó cũng sẽ đủ điều kiện mặc định ở mức 7.7.0.
  • Mặc định chỉ nên thay đổi trong bản phát hành đầy đủ (7.3.0, 8.0.0, v.v.) và không trong bản phát hành sửa đổi. Ngoại lệ duy nhất cho điều này là trong trường hợp khẩn cấp khi lỗ hổng bảo mật quan trọng được tìm thấy trong mặc định hiện tại.

Xem thêm

  • password_verify () - xác minh rằng mật khẩu khớp với băm
  • Crypt () - Chuỗi một chiều băm
  • »& Nbsp; triển khai userland
  • natri_crypto_pwhash_str () - Nhận băm được mã hóa ASCII -được mã hóa

PHPNetComment201908 tại Lucb1e Dot Com ¶

3 năm trước

$password2

$password3

$password4

$password5

$password6

$password7

$password8

$password9

$algo0

$algo1

$algo2

$algo3

$algo4

$algo5

Nicoswd ¶

9 năm trước

$algo6

$algo7

$algo8

$algo9

$options0

$options1

$algo5

Lyo mi

6 năm trước

$options3

$options4

$options5

$options6

$options7

$algo5

Cloxy ¶

8 năm trước

$options9

PASSWORD_DEFAULT0

PASSWORD_DEFAULT1

PASSWORD_DEFAULT2

Martinstoeckli ¶

9 năm trước

PASSWORD_DEFAULT3

Lyo mi

8 năm trước

PASSWORD_DEFAULT4

PASSWORD_DEFAULT5

$algo5

Martinstoeckli ¶

3 năm trước

PASSWORD_DEFAULT7

PASSWORD_DEFAULT8

PASSWORD_DEFAULT9

PASSWORD_BCRYPT0

PASSWORD_BCRYPT1

PASSWORD_BCRYPT2

PASSWORD_BCRYPT3

PASSWORD_BCRYPT4

PASSWORD_BCRYPT5

PASSWORD_BCRYPT6

PASSWORD_BCRYPT7

$algo5

Nicoswd ¶

9 năm trước

PASSWORD_BCRYPT9

CRYPT_BLOWFISH0

$algo5

Lyo mi

3 năm trước

CRYPT_BLOWFISH2

CRYPT_BLOWFISH3

CRYPT_BLOWFISH4

$algo5

Lyo mi

9 năm trước

CRYPT_BLOWFISH6

CRYPT_BLOWFISH7

$algo5

Lyo mi

3 năm trước

CRYPT_BLOWFISH9

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
00

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
01

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
02

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
03

$algo5

Mật khẩu băm trong PHP là gì?

password_hash () tạo một hàm băm mật khẩu mới bằng thuật toán băm một chiều mạnh mẽ. Các thuật toán sau đây hiện đang được hỗ trợ: password_default - Sử dụng thuật toán BCRYPT (mặc định là Php 5.5. 0). Lưu ý rằng hằng số này được thiết kế để thay đổi theo thời gian vì các thuật toán mới và mạnh hơn được thêm vào PHP.creates a new password hash using a strong one-way hashing algorithm. The following algorithms are currently supported: PASSWORD_DEFAULT - Use the bcrypt algorithm (default as of PHP 5.5. 0). Note that this constant is designed to change over time as new and stronger algorithms are added to PHP.

Mật khẩu muối trong PHP là gì?

Muối là gì? Một muối mật mã là dữ liệu được áp dụng trong quá trình băm để loại bỏ khả năng đầu ra được tra cứu trong một danh sách các cặp băm được tính toán sẵn và đầu vào của chúng, được gọi là bảng cầu vồng.

Phương pháp được sử dụng nhiều nhất để băm mật khẩu trong PHP là gì?

Trong PHP, có nhiều thuật toán mật mã khác nhau thường được sử dụng như MD5, Crypt, SHA1 và BCrypt.Và ngày nay được sử dụng phổ biến nhất là phương pháp bcrypt băm.bcrypt hashing method.

Mật khẩu băm là gì?

Mật khẩu băm được định nghĩa là đặt mật khẩu thông qua thuật toán băm (BCRYPT, SHA, v.v.) để biến bản rõ thành một chuỗi số và chữ cái không thể hiểu được.putting a password through a hashing algorithm (bcrypt, SHA, etc) to turn plaintext into an unintelligible series of numbers and letters.