Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Hướng dẫn PHP

PHP TRANG CHỦ PHP Giới thiệu PHP Cài đặt PHP Cú pháp PHP Bình luận PHP Biến PHP PHP Echo / In Các kiểu dữ liệu PHP Chuỗi PHP Số PHP PHP Casting PHP Toán học PHP Hằng số PHP Magic Constants PHP Toán tử PHP If...Else...Elseif Chuyển đổi PHP Vòng lặp PHP Hàm PHP Mảng PHP Siêu toàn cầu PHP PHP RegEx

Biểu mẫu PHP

Xử lý biểu mẫu PHP Xác thực biểu mẫu PHP Yêu cầu biểu mẫu PHP URL biểu mẫu PHP/E-mail Biểu mẫu PHP Hoàn thành

PHP nâng cao

PHP Ngày và giờ PHP Bao gồm PHP Xử lý tệp PHP Mở/Đọc tệp PHP Tạo/ghi tệp PHP Tải lên tệp PHP PHP Cookies Phiên PHP Bộ lọc PHP Bộ lọc PHP Hàm gọi lại PHP nâng cao PHP JSON Ngoại lệ PHP

PHP OOP

PHP OOP Lớp/Đối tượng PHP là gì Trình tạo PHP Trình phá hủy PHP Công cụ sửa đổi truy cập PHP Kế thừa PHP Hằng số PHP Lớp trừu tượng PHP Giao diện PHP Đặc điểm PHP Phương thức tĩnh PHP Thuộc tính tĩnh PHP Không gian tên PHP Vòng lặp PHP

Cơ sở dữ liệu MySQL

Cơ sở dữ liệu MySQL MySQL Kết nối MySQL Tạo DB MySQL Tạo bảng MySQL Chèn dữ liệu MySQL Nhận ID cuối cùng MySQL Chèn nhiều MySQL MySQL đã chuẩn bị Chọn dữ liệu MySQL Nơi MySQL đặt hàng bằng MySQL Xóa dữ liệu cập nhật MySQL Dữ liệu giới hạn MySQL

PHP XML

Trình phân tích cú pháp XML của PHP Trình phân tích cú pháp PHP SimpleXML PHP SimpleXML - Nhận PHP XML Expat PHP XML DOM

PHP - AJAX

Giới thiệu AJAX AJAX PHP Cơ sở dữ liệu AJAX AJAX XML AJAX Tìm kiếm trực tiếp AJAX Thăm dò ý kiến

PHP Ví dụ

Ví dụ về PHP Trình biên dịch PHP Câu hỏi PHP Bài tập PHP Máy chủ PHP Chứng chỉ PHP

Tham khảo PHP

Tổng quan về PHP Mảng PHP Lịch PHP Ngày PHP Thư mục PHP Lỗi PHP Ngoại lệ PHP Hệ thống tập tin PHP Bộ lọc PHP PHP FTP JSON của PHP Từ khóa PHP PHP Libxml Thư PHP Toán PHP PHP Khác PHP MySQLi Mạng PHP Kiểm soát đầu ra PHP PHP RegEx PHP SimpleXML Luồng PHP Chuỗi PHP Xử lý biến PHP Trình phân tích cú pháp XML của PHP Mã zip PHP Múi giờ PHP

Hàm PHP crypt()


❮ Tham chiếu chuỗi PHP

Định nghĩa và cách sử dụng

Hàm crypt() trả về một chuỗi băm bằng thuật toán DES, Blowfish hoặc MD5.

Chức năng này hoạt động khác nhau trên các hệ điều hành khác nhau. PHP kiểm tra những thuật toán nào có sẵn và những thuật toán nào sẽ sử dụng khi nó được cài đặt.

Tham số muối là tùy chọn. Tuy nhiên, crypt() tạo mật khẩu yếu mà không có muối. Đảm bảo chỉ định loại muối đủ mạnh để bảo mật tốt hơn.

Có một số hằng số được sử dụng cùng với hàm crypt(). Giá trị của các hằng số này được PHP đặt khi nó được cài đặt.

Hằng số:

  • [CRYPT_STD_DES] - Hàm băm dựa trên DES tiêu chuẩn có hai ký tự muối từ bảng chữ cái "./0-9A-Za-z". Sử dụng các ký tự không hợp lệ trong muối sẽ khiến chức năng này bị lỗi.
  • [CRYPT_EXT_DES] - Hàm băm dựa trên DES mở rộng với muối chín ký tự bao gồm dấu gạch dưới theo sau là 4 byte số lần lặp và 4 byte muối. Chúng được mã hóa dưới dạng các ký tự có thể in được, 6 bit cho mỗi ký tự, ký tự ít quan trọng nhất được đặt trước. Các giá trị từ 0 đến 63 được mã hóa thành "./0-9A-Za-z". Sử dụng các ký tự không hợp lệ trong muối sẽ khiến hàm bị lỗi.
  • [CRYPT_MD5] - Băm MD5 bằng muối 12 ký tự bắt đầu bằng $1$
  • [CRYPT_BLOWFISH] - Băm cá nóc bằng muối bắt đầu bằng $2a$, $2x$ hoặc $2y$, tham số chi phí gồm hai chữ số "$" và 22 ký tự từ bảng chữ cái "./0-9A-Za-z" . Việc sử dụng các ký tự bên ngoài bảng chữ cái sẽ khiến hàm này trả về một chuỗi có độ dài bằng 0. Tham số "$" là logarit cơ số 2 của số lần lặp cho trình thuật toán băm Blowfish-bashed cơ bản và phải nằm trong phạm vi 04-31. Các giá trị nằm ngoài phạm vi này sẽ khiến chức năng bị lỗi.
  • [CRYPT_SHA_256] - Hàm băm SHA-256 với muối 16 ký tự bắt đầu bằng $5$. Nếu chuỗi muối bắt đầu bằng "rounds=<N>$", giá trị số của N được sử dụng để cho biết vòng lặp băm nên được thực thi bao nhiêu lần, giống như tham số chi phí trên Blowfish. Số vòng mặc định là 5000, tối thiểu là 1000 và tối đa là 999.999.999. Mọi lựa chọn N ngoài phạm vi này sẽ bị cắt bớt đến giới hạn gần nhất.
  • [CRYPT_SHA_512] - Hàm băm SHA-512 với muối 16 ký tự bắt đầu bằng $6$. Nếu chuỗi muối bắt đầu bằng "rounds=<N>$", giá trị số của N được sử dụng để cho biết vòng lặp băm nên được thực thi bao nhiêu lần, giống như tham số chi phí trên Blowfish. Số vòng mặc định là 5000, tối thiểu là 1000 và tối đa là 999.999.999. Mọi lựa chọn N ngoài phạm vi này sẽ bị cắt bớt đến giới hạn gần nhất.

Trên các hệ thống có chức năng này hỗ trợ nhiều thuật toán, các hằng số ở trên được đặt thành "1" nếu được hỗ trợ và "0" nếu ngược lại.

Lưu ý: Không có chức năng giải mã. Hàm crypt() sử dụng thuật toán một chiều.


Cú pháp

crypt( str,salt )

Giá trị tham số

Parameter Description
str Required. Specifies the string to be hashed
salt Optional. A salt string to base the hashing on


Chi tiết kỹ thuật

Giá trị trả về: Trả về chuỗi được mã hóa hoặc một chuỗi ngắn hơn 13 ký tự và được đảm bảo khác với chuỗi muối khi thất bại
Phiên bản PHP: 4+
Nhật ký thay đổi: PHP 5.6.0 - Hiển thị cảnh báo bảo mật E_NOTICE nếu thiếu muối .
PHP 5.3.7 - Đã thêm chế độ Blowfish $2x$ và $2y$.
PHP 5.3.2 - Đã thêm SHA-256 và SHA-512. Đã sửa lỗi hành vi Blowfish trên các vòng không hợp lệ trả về chuỗi "thất bại" ("*0" hoặc "*1"), thay vì quay trở lại DES.
PHP 5.3.0 - PHP hiện có triển khai riêng cho mật mã MD5, DES tiêu chuẩn, DES mở rộng và các thuật toán Blowfish và sẽ sử dụng điều đó nếu hệ thống thiếu hỗ trợ cho một hoặc nhiều thuật toán.

Thêm ví dụ

Ví dụ

Trong ví dụ này, chúng tôi sẽ kiểm tra các thuật toán khác nhau:

<?php
// 2 character salt
if (CRYPT_STD_DES == 1 )
{
echo "Standard DES: " .crypt( 'something' , 'st' ). "\n<br>" ;
}
else
{
echo "Standard DES not supported.\n<br>" ;
}

// 4 character salt
if (CRYPT_EXT_DES == 1 )
{
echo "Extended DES: " .crypt( 'something' , '_S4..some' ). "\n<br>" ;
}
else
{
echo "Extended DES not supported.\n<br>" ;
}

// 12 character salt starting with $1$
if (CRYPT_MD5 == 1 )
{
echo "MD5: " .crypt( 'something' , '$1$somethin$' ). "\n<br>" ;
}
else
{
echo "MD5 not supported.\n<br>" ;
}

// Salt starting with $2a$. The two digit cost parameter: 09. 22 characters
if (CRYPT_BLOWFISH == 1 )
{
echo "Blowfish: " .crypt( 'something' , '$2a$09$anexamplestringforsalt$' ). "\n<br>" ;
}
else
{
echo "Blowfish DES not supported.\n<br>" ;
}

// 16 character salt starting with $5$. The default number of rounds is 5000.
if (CRYPT_SHA256 == 1 )
{
echo "SHA-256: " .crypt( 'something' , '$5$rounds=5000$anexamplestringforsalt$' ). "\n<br>" ; }
else
{
echo "SHA-256 not supported.\n<br>" ;
}

// 16 character salt starting with $6$. The default number of rounds is 5000.
if (CRYPT_SHA512 == 1 )
{
echo "SHA-512: " .crypt( 'something' , '$6$rounds=5000$anexamplestringforsalt$' );
}
else
{
echo "SHA-512 not supported." ;
}
?>

Đầu ra của đoạn mã trên có thể là (tùy thuộc vào hệ điều hành):

Standard DES: stqAdD7zlbByI
Extended DES: _S4..someQXidlBpTUu6
MD5: $1$somethin$4NZKrUlY6r7K7.rdEOZ0w.
Blowfish: $2a$09$anexamplestringforsaleLouKejcjRlExmf1671qw3Khl49R3dfu
SHA-256: $5$rounds=5000$anexamplestringf$KIrctqsxo2wrPg5Ag/hs4jTi4PmoNKQUGWFXlVy9vu9
SHA-512: $6$rounds=5000$anexamplestringf$Oo0skOAdUFXkQxJpwzO05wgRHG0dhuaPBaOU/
oNbGpCEKlf/7oVM5wn6AN0w2vwUgA0O24oLzGQpp1XKI6LLQ0.


❮ Tham chiếu chuỗi PHP
×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .