Làm cách nào để mã hóa và giải mã văn bản trong PHP?

Mã PHP ví dụ này giúp minh họa cách mã hóa để bảo vệ dữ liệu nhạy cảm. Sử dụng các hàm mã hóa openssl_encrypt và openssl_decrypt, ví dụ này giúp cho thấy việc triển khai mã hóa cho ứng dụng của bạn tương đối dễ dàng. Việc sử dụng mã hóa rất quan trọng khi bạn có thông tin nhạy cảm cần bảo vệ. Ví dụ: bạn có thể có một cửa hàng trực tuyến thu thập tên, địa chỉ và thông tin cá nhân khác của khách hàng. Loại dữ liệu này bị đánh cắp do vi phạm cơ sở dữ liệu có thể gây hậu quả nghiêm trọng cho bạn với tư cách là nhà cung cấp, cùng với khách hàng của bạn

Mã ví dụ này chỉ dùng để minh họa quá trình mã hóa và giải mã dữ liệu không khó thực hiện như người ta tưởng. Bạn có bài tập về nhà riêng để tìm cách triển khai tốt nhất cho ứng dụng của mình. Mã này có thể được sửa đổi để lưu dữ liệu được mã hóa vào cơ sở dữ liệu MySQL của bạn

Để biết thêm thông tin chi tiết về các chức năng mật mã được sử dụng tại đây, vui lòng truy cập https. //www. php. net/thủ công/vi/chức năng. mã hóa openssl. php và https. //www. php. net/thủ công/vi/chức năng. openssl-giải mã. php

Để sử dụng mã này, chỉ cần sao chép và dán mã vào môi trường phát triển PHP của bạn và định cấu hình các biến được chỉ ra trong dòng nhận xét cho môi trường cụ thể của bạn

Mã hóa và giải mã dữ liệu là một kỹ thuật được sử dụng cho mục đích bảo mật. Kỹ thuật này được sử dụng rộng rãi để giữ bí mật các tin nhắn bí mật và chỉ người nhận tin nhắn mới có thể đọc được

Trong PHP, có thể mã hóa và giải mã dữ liệu. Chà, PHP đã có sẵn các hàm để thực hiện tác vụ này. Vì vậy, hãy xem làm thế nào chúng ta có thể làm điều đó

Hàm openssl_encrypt() và openssl_decrypt() PHP

Hàm openssl_encrypt() PHP có thể mã hóa dữ liệu bằng khóa mã hóa

Mặt khác, hàm openssl_decrypt() có thể giải mã dữ liệu được mã hóa bằng khóa giải mã

Ở đây trong bài viết này, tôi sẽ chỉ cho bạn cách mã hóa và giải mã một chuỗi trong PHP với các ví dụ

Cú pháp cho openssl_encrypt()

Dưới đây là cú pháp cho hàm openssl_encrypt

openssl_encrypt( string $data, string $method, string $key, $options = 0, string $iv, string $tag= NULL,
string $aad, int $tag_length = 16 )

Dưới đây là mô tả từng tham số của hàm

dữ liệu $. Đây là chuỗi hoặc dữ liệu sẽ được mã hóa

phương thức $. Phương pháp mật mã. Chúng ta phải sử dụng hàm openssl_get_cipher_methods() để tạo phương thức mật mã để lấy kết quả và chuyển nó cho hàm openssl_encrypt()

khóa $. Khóa mã hóa được sử dụng

tùy chọn $. Phân tách theo từng bit của các cờ OPENSSL_RAW_DATA và OPENSSL_ZERO_PADDING

$iv. Vectơ khởi tạo không phải là NULL

thẻ $. Thẻ xác thực được chuyển qua tham chiếu khi sử dụng chế độ mật mã AEAD có thể là GCM hoặc CCM

$aad. Đây là dữ liệu xác thực bổ sung

$tag_length. Nó giữ độ dài của thẻ xác thực. Đối với chế độ GCM, độ dài của thẻ xác thực có thể nằm trong khoảng từ 4 đến 6

Cú pháp cho openssl_decrypt()

Dưới đây là cú pháp của hàm openssl_decrypt() PHP

openssl_decrypt( string $data, string $method, string $key, int $options = 0, string $iv, string $tag, string $aad)

Mô tả về từng tham số của hàm openssl_decrypt() được đưa ra bên dưới

dữ liệu $. Chuỗi hoặc dữ liệu được mã hóa
phương thức $. Phương thức mật mã được tạo bởi hàm openssl_get_cipher_methods() PHP
khóa $. Chìa khóa mã hóa. Điều này là cần thiết để giải mã chuỗi được mã hóa
tùy chọn $. Sự phân tách bitwise của các cờ cho OPENSSL_RAW_DATA và OPENSSL_ZERO_PADDING
$iv. Vectơ khởi tạo không phải NULL
thẻ $. Giữ thẻ xác thực bằng chế độ mật mã AEAD có thể là GCM hoặc CCM. Trong trường hợp xác thực không thành công, openssl_decrypt() trả về FALSE
$aad. Dữ liệu xác thực bổ sung

Ngoài ra, đọc

  • Làm cách nào để lấy giá trị tối đa từ một mảng trong PHP?
  • Làm cách nào để kiểm tra xem một giá trị có tồn tại trong một mảng trong PHP không?

Ví dụ về mã PHP để mã hóa và giải mã chuỗi

ví dụ 1. Ví dụ này sẽ mã hóa và giải mã một chuỗi giữ nguyên chuỗi đã mã hóa. Dưới đây là mã PHP được đưa ra

 

ví dụ 2. Ví dụ này sẽ thay đổi ngẫu nhiên chuỗi được mã hóa. Mỗi khi bạn chạy mã, nó sẽ thay đổi chuỗi mã hóa tương ứng. Mặc dù chuỗi được mã hóa và chuỗi được giải mã sẽ giống nhau

Dưới đây là mã của ví dụ này

 

 

Vì vậy, tôi hy vọng, bạn đã hiểu và biết cách chúng tôi mã hóa dữ liệu và chuỗi của mình, sau đó giải mã nó bằng PHP để lấy lại dữ liệu của chúng tôi

Làm cách nào để mã hóa mã trong PHP?

Mã hóa dữ liệu bằng openssl_encrypt() . Khi thành công, nó trả về chuỗi được mã hóa. Nếu không, nó trả về FALSE.

Làm cách nào để mã hóa và giải mã ID trong PHP?

6 câu trả lời .
$encrypted_id = base64_encode($id);.
$decrypted id = base64 decode($encrypted id);.
$salt="MY_SECRET_STUFF"; . .
$decrypted id = base64 decode($encrypted id);

Làm cách nào để mã hóa và giải mã số nguyên trong PHP?

Trong PHP, có thể mã hóa và giải mã một chuỗi bằng cách sử dụng một trong các Tiện ích mở rộng mã hóa có tên là chức năng OpenSSL để mã hóa và giải mã . Hàm openssl_encrypt(). Hàm openssl_encrypt() dùng để mã hóa dữ liệu. Thông số. dữ liệu $. Nó chứa chuỗi hoặc dữ liệu cần được mã hóa.

Chúng tôi có thể giải mã SHA256 bằng PHP không?

Vì việc sử dụng hàm băm mật mã có nghĩa là việc giải mã là không khả thi về mặt tính toán, nên bạn không thể thực hiện giải mã bằng SHA256 . Những gì bạn muốn sử dụng là chức năng hai chiều, nhưng cụ thể hơn là Mật mã khối.