Cách mã hóa url video trong php

Thư viện này là một trình bao bọc xung quanh PHP-FFMpeg và đóng gói nội dung phương tiện để phát trực tuyến như DASH và HLS. Bạn cũng có thể sử dụng DRM cho bao bì HLS. Có một số tùy chọn để mở tệp từ đám mây và cũng lưu tệp vào đám mây

  • Tài liệu đầy đủ có sẵn mô tả tất cả các tính năng và thành phần
  • Để sử dụng mã hóa và DRM, tôi khuyên bạn nên dùng thử Shaka PHP, đây là một công cụ tuyệt vời cho trường hợp sử dụng này

nội dung

  • Yêu cầu
  • Cài đặt
  • Bắt đầu nhanh
    • Cấu hình
    • Mở một tài nguyên
    • DASH
    • HLS
      • Mã hóa [DRM]
      • phụ đề
    • chuyển mã
    • Lưu tệp
    • Metadata
    • chuyển đổi
    • Các tính năng nâng cao khác
  • Thực thi tác vụ không đồng bộ
  • Một số người chơi mã nguồn mở
  • câu hỏi thường gặp
  • Đóng góp và báo cáo lỗi
  • Tín dụng
  • Giấy phép

Yêu cầu

  1. Phiên bản này của gói chỉ tương thích với PHP 7. 2 hoặc cao hơn

  2. Để sử dụng gói này, bạn cần cài đặt FFmpeg. Bạn sẽ cần cả hai tệp nhị phân FFmpeg và FFProbe để sử dụng nó

Cài đặt

Cài đặt gói qua nhà soạn nhạc

composer require aminyazdanpanah/php-ffmpeg-video-streaming

Ngoài ra, thêm phần phụ thuộc trực tiếp vào tệp

require 'vendor/autoload.php'; // path to the autoload file
7 của bạn

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}

Bắt đầu nhanh

Trước hết, bạn cần đưa gói vào mã của mình

require 'vendor/autoload.php'; // path to the autoload file

Cấu hình

Gói này sẽ tự động phát hiện các tệp nhị phân FFmpeg và FFprobe. Nếu bạn muốn đưa ra các đường dẫn nhị phân một cách rõ ràng, bạn có thể chuyển một mảng dưới dạng cấu hình. Một Psr\Logger\LoggerInterface cũng có thể được chuyển để ghi nhật ký thực thi nhị phân

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];

Mở một tài nguyên

Có một số cách để mở một tài nguyên

1. Từ tài nguyên được hỗ trợ FFmpeg

Bạn có thể chuyển đường dẫn cục bộ của video [hoặc tài nguyên được hỗ trợ] sang phương thức

require 'vendor/autoload.php'; // path to the autoload file
8

$video = $ffmpeg->open['/var/media/video.mp4'];

Xem Tài liệu giao thức FFmpeg để biết thêm thông tin về các tài nguyên được hỗ trợ như HTTP, FTP, v.v.

Ví dụ

$video = $ffmpeg->open['//www.aminyazdanpanah.com/?"PATH TO A VIDEO FILE" or "PATH TO A LIVE HTTP STREAM"'];

2. từ đám mây

Bạn có thể mở tệp từ đám mây bằng cách chuyển một mảng cấu hình đám mây sang phương thức

require 'vendor/autoload.php'; // path to the autoload file
9

$video = $ffmpeg->openFromCloud[$from_google_cloud];

Truy cập trang này để xem một số ví dụ về cách mở tệp từ Amazon S3, Google Cloud Storage, Microsoft Azure Storage và đám mây tùy chỉnh

3. Chụp webcam hoặc màn hình [Phát trực tiếp]

Bạn có thể chuyển tên của thiết bị chụp được kết nối, được hỗ trợ [i. e. tên của webcam, máy ảnh, màn hình, v.v.] vào phương thức

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
0 để phát trực tiếp phương tiện truyền thông qua mạng

require 'vendor/autoload.php'; // path to the autoload file
1

Để liệt kê các thiết bị chụp được kết nối, được hỗ trợ, hãy xem FFmpeg Capture Webcam và FFmpeg Capture Desktop

DASH

Truyền phát thích ứng động qua HTTP [DASH], còn được gọi là MPEG-DASH, là một kỹ thuật truyền phát tốc độ bit thích ứng cho phép truyền phát nội dung đa phương tiện chất lượng cao qua Internet được phân phối từ các máy chủ web HTTP thông thường. Tìm hiểu thêm

Tạo tệp DASH

require 'vendor/autoload.php'; // path to the autoload file
2

Tạo biểu diễn thủ công

require 'vendor/autoload.php'; // path to the autoload file
3

Xem phần DASH trong tài liệu, để biết thêm ví dụ

HLS

Phát trực tiếp HTTP [còn được gọi là HLS] là một giao thức liên lạc phát trực tuyến tốc độ bit thích ứng dựa trên HTTP do Apple Inc triển khai. như một phần của phần mềm QuickTime, Safari, OS X và iOS. Việc triển khai ứng dụng khách cũng có sẵn trong Microsoft Edge, Firefox và một số phiên bản của Google Chrome. Hỗ trợ phổ biến trong các máy chủ phương tiện truyền phát trực tuyến. Tìm hiểu thêm

Tạo tệp HLS

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
0

Tạo biểu diễn thủ công

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
1

Xem phần HLS trong tài liệu, để biết thêm các ví dụ như MP4 bị phân mảnh, trực tiếp từ máy ảnh/màn hình, v.v.

Mã hóa [DRM]

Quá trình mã hóa yêu cầu một số loại bí mật [khóa] cùng với thuật toán mã hóa. HLS sử dụng AES trong chế độ chuỗi khối mật mã [CBC]. Điều này có nghĩa là mỗi khối được mã hóa bằng cách sử dụng bản mã của khối trước đó. Tìm hiểu thêm

Bạn phải chỉ định đường dẫn để lưu khóa ngẫu nhiên vào máy cục bộ của mình, đồng thời chỉ định URL [hoặc đường dẫn] để truy cập khóa trên trang web của bạn [khóa bạn sẽ lưu phải có thể truy cập được từ trang web của bạn]. Bạn phải truyền cả hai tham số này cho phương thức

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
1

Phím đơn

Đoạn mã sau tạo khóa cho tất cả các tệp phân đoạn

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
2

Xoay phím

Một số nguyên dưới dạng "thời gian xoay khóa" cũng có thể được chuyển cho phương thức

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
1 [i. e.
use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
3] để sử dụng một khóa khác cho từng nhóm phân đoạn, xoay sang khóa mới sau nhiều phân đoạn này. Ví dụ: nếu 10 tệp phân đoạn đã được tạo thì nó sẽ tạo khóa mới. Nếu bạn đặt giá trị này thành
use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
4, mỗi tệp phân đoạn sẽ được mã hóa bằng khóa mã hóa mới. Điều này có thể cải thiện bảo mật và cho phép linh hoạt hơn

Xem ví dụ để biết thêm thông tin

QUAN TRỌNG. Điều rất quan trọng là bảo vệ [các] khóa của bạn trên trang web của bạn. Ví dụ: bạn có thể sử dụng mã thông báo [sử dụng phương thức Nhận hoặc Đăng HTTP] để kiểm tra xem người dùng có đủ điều kiện để truy cập khóa hay không. Bạn cũng có thể sử dụng phiên [hoặc cookie] trên trang web của mình để hạn chế quyền truy cập vào [các] khóa [Rất khuyến khích]

DRM

Tuy nhiên, FFmpeg hỗ trợ mã hóa AES cho gói HLS mà bạn có thể mã hóa nội dung của mình, đây không phải là giải pháp DRM đầy đủ. Nếu bạn muốn sử dụng giải pháp DRM đầy đủ, tôi khuyên bạn nên dùng thử giải pháp Phát trực tuyến FairPlay, sau đó trao đổi khóa một cách an toàn và bảo vệ quá trình phát lại trên thiết bị

Bên cạnh hệ thống DRM FairPlay của Apple, bạn cũng có thể sử dụng các hệ thống DRM khác như PlayReady của Microsoft và Widevine của Google

phụ đề

Bạn có thể thêm phụ đề vào luồng HLS bằng phương pháp

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
5

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
3

GHI CHÚ. Tất cả các tệp m3u8 sẽ được tạo bằng các quy tắc dựa trên RFC 8216. Hiện chỉ có các tệp WebVTT được chấp nhận

chuyển mã

Một định dạng cũng có thể mở rộng

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
6 để nhận thông tin thời gian thực về quá trình chuyển mã

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
4

Đầu ra từ một thiết bị đầu cuối

Lưu tệp

Có một số cách để lưu tệp

1. Đến một đường dẫn cục bộ

Bạn có thể chuyển một đường dẫn cục bộ tới phương thức

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
7. Nếu không có thư mục trong đường dẫn, thì gói tự động tạo thư mục

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
5

Nó cũng có thể là null. Đường dẫn mặc định để lưu tệp là đường dẫn đầu vào

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
6

GHI CHÚ. Nếu bạn mở tệp từ đám mây và không chuyển đường dẫn để lưu tệp vào máy cục bộ của mình, bạn sẽ phải chuyển đường dẫn cục bộ đến phương thức

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
7

2. lên mây

Bạn có thể lưu tệp của mình vào đám mây bằng cách chuyển một mảng cấu hình đám mây sang phương thức

use Monolog\Handler\StreamHandler;
use Monolog\Logger;

$config = [
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
    'timeout'          => 3600, // The timeout for the underlying process
    'ffmpeg.threads'   => 12,   // The number of threads that FFmpeg should use
];

$log = new Logger['FFmpeg_Streaming'];
$log->pushHandler[new StreamHandler['/var/log/ffmpeg-streaming.log']]; // path to log file
    
$ffmpeg = Streaming\FFMpeg::create[$config, $log];
7

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
7

Một đường dẫn cũng có thể được chuyển để lưu một bản sao của tệp vào máy cục bộ của bạn

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
8

Truy cập trang này để xem một số ví dụ về lưu tệp vào Amazon S3, Google Cloud Storage, Microsoft Azure Storage và đám mây tùy chỉnh

GHI CHÚ. Tùy chọn này [Save To Clouds] chỉ hợp lệ cho VOD [không hỗ trợ phát trực tiếp]

Lược đồ. Mối quan hệ là

$video = $ffmpeg->open['/var/media/video.mp4'];
0

3. Đến máy chủ ngay lập tức

Bạn có thể chuyển một URL [hoặc tài nguyên được hỗ trợ như

$video = $ffmpeg->open['/var/media/video.mp4'];
1] sang phương thức trực tiếp để tải tất cả các tệp phân đoạn lên máy chủ HTTP [hoặc các giao thức khác] bằng phương thức HTTP PUT và cập nhật tệp kê khai mỗi lần làm mới

"require": {
    "aminyazdanpanah/php-ffmpeg-video-streaming": "^1.2"
}
9

GHI CHÚ. Ở định dạng HLS, bạn phải tải danh sách phát chính lên máy chủ theo cách thủ công. [Tải tệp

$video = $ffmpeg->open['/var/media/video.mp4'];
2 lên tệp
$video = $ffmpeg->open['/var/media/video.mp4'];
3]

Xem Tài liệu giao thức FFmpeg để biết thêm thông tin

Metadata

Bạn có thể lấy thông tin từ các luồng đa phương tiện và tệp video bằng mã sau

require 'vendor/autoload.php'; // path to the autoload file
0

Xem ví dụ để biết thêm thông tin

chuyển đổi

Bạn có thể chuyển đổi luồng của mình thành một tệp hoặc sang một giao thức luồng khác. Bạn nên chuyển một bảng kê khai luồng tới phương thức

require 'vendor/autoload.php'; // path to the autoload file
8

1. HLS sang DASH

require 'vendor/autoload.php'; // path to the autoload file
1

2. DASH Đến HLS

require 'vendor/autoload.php'; // path to the autoload file
2

3. Luồng [DASH hoặc HLS] để gửi

require 'vendor/autoload.php'; // path to the autoload file
3

Các tính năng nâng cao khác

Bạn có thể dễ dàng sử dụng các tính năng nâng cao khác trong thư viện PHP-FFMpeg. Trên thực tế, khi bạn mở một tệp bằng phương thức

require 'vendor/autoload.php'; // path to the autoload file
8 [hoặc
require 'vendor/autoload.php'; // path to the autoload file
9], nó sẽ giữ đối tượng Phương tiện thuộc về PHP-FFMpeg

require 'vendor/autoload.php'; // path to the autoload file
4

Trích xuất hình ảnh

Bạn có thể trích xuất khung tại bất kỳ mã thời gian nào bằng phương thức

$video = $ffmpeg->open['/var/media/video.mp4'];
7

require 'vendor/autoload.php'; // path to the autoload file
5

GHI CHÚ. Bạn có thể sử dụng hình ảnh làm áp phích của video

Gif

Một gif là một hình ảnh hoạt hình được trích xuất từ ​​một chuỗi video

Bạn có thể lưu tệp gif bằng FFMpeg\Media\Gif. phương pháp lưu

require 'vendor/autoload.php'; // path to the autoload file
6

Phương thức này có tham số boolean tùy chọn thứ ba, đó là thời lượng của hoạt ảnh. Nếu bạn không đặt nó, bạn sẽ nhận được một hình ảnh gif cố định

GHI CHÚ. Bạn có thể sử dụng gif làm hình thu nhỏ của video

Để xem thêm các ví dụ, hãy truy cập trang Tài liệu PHP-FFMpeg

Thực thi tác vụ không đồng bộ

Quá trình đóng gói có thể mất một lúc và bạn nên chạy nó ở chế độ nền [hoặc trên đám mây e. g. AWS]. Có một số thư viện mà bạn có thể sử dụng cho trường hợp sử dụng này

  • Bản giao hưởng [Thành phần bảng điều khiển]. Bạn có thể sử dụng thư viện này để tạo các lệnh dòng lệnh. Các lệnh bảng điều khiển của bạn có thể được sử dụng cho bất kỳ tác vụ định kỳ nào, chẳng hạn như cronjobs, import hoặc các công việc hàng loạt khác. Tìm hiểu thêm

  • Laravel[Hàng đợi]. Nếu bạn đang sử dụng Laravel để phát triển, Laravel Queues là một công cụ tuyệt vời cho trường hợp sử dụng này. Nó cho phép bạn tạo một công việc và gửi đi. Tìm hiểu thêm

GHI CHÚ. Bạn cũng có thể tạo một tập lệnh và chạy nó trong cronjob của mình

Một số người chơi mã nguồn mở

Bạn có thể sử dụng các thư viện này để phát các luồng của mình

  • WEB
    • DASH và HLS
      • Video. js 7 [Được khuyến nghị] - videojs-http-streaming [VHS]
      • ván ép
      • DPlayer
      • Yếu tố truyền thông. js
      • vỗ tay
      • Người chơi Shaka
      • Trình phát lưu lượng
    • DASH
      • dấu gạch ngang. js
    • HLS
      • hls. js
  • Android
    • DASH và HLS
      • ExoPlayer [Được khuyến nghị]
      • VLC cho Android
  • iOS
    • DASH
      • MPEG DASH-iOS-Player
    • HLS
      • Người chơi
  • Android và IOS
    • DASH và HLS
      • jkplayer
  • Windows, Linux và macOS
    • DASH và HLS
      • FFmpeg[ffplay] [Được khuyến nghị]
      • Trình phát đa phương tiện VLC

câu hỏi thường gặp

Tôi đã tạo tệp luồng và bây giờ tôi nên chuyển cái gì cho trình phát? . x.

$video = $ffmpeg->open['/var/media/video.mp4'];
8 hoặc
$video = $ffmpeg->open['/var/media/video.mp4'];
9 ] cho người chơi. Xem trang demo của những người chơi này để biết thêm thông tin [hls. js Bản trình diễn, dấu gạch ngang. js Demo, videojs Demo, v.v.]

Đầu phát của tôi không hiển thị nút chọn chất lượng để thay đổi chất lượng video? . Ví dụ: nếu bạn đang sử dụng Videojs để phát luồng của mình, bạn có thể cài đặt videojs-hls-quality-selector để hiển thị bộ chọn chất lượng. Để thêm một plugin cho những người chơi khác, bạn có thể dễ dàng Google nó

Tôi đã tải tệp luồng của mình lên đám mây nhưng nó không phát trên trang web của tôi? . e. Amazon S3], đảm bảo nội dung của bạn là CÔNG KHAI. Nếu không, bạn phải thay đổi kiểm soát truy cập

IOS có hỗ trợ luồng DASH không? . Mặc dù có một số thư viện như Viblast và MPEGDASH-iOS-Player hỗ trợ kỹ thuật này nhưng tôi chưa bao giờ thử nghiệm chúng. Vì vậy, có thể một số trong số họ sẽ không hoạt động bình thường

Xem trang này để biết thêm Câu hỏi thường gặp

Đóng góp và báo cáo lỗi

Tôi rất muốn sự giúp đỡ của bạn trong việc cải thiện, sửa chữa, thêm vào thông số kỹ thuật. Vui lòng gửi một vấn đề hoặc gửi yêu cầu kéo

Mã hóa URL trong PHP là gì?

Hàm urlencode[] là một hàm có sẵn trong PHP dùng để mã hóa url . Hàm này trả về một chuỗi bao gồm tất cả các ký tự không phải chữ và số ngoại trừ -_. và thay thế bằng dấu phần trăm [%] theo sau là hai chữ số hex và khoảng trắng được mã hóa dưới dạng dấu cộng [+]. cú pháp. chuỗi urlencode[ $input ]

PHP có thể mã hóa dữ liệu không?

Mã hóa PHP rất quan trọng đối với quyền riêng tư và sự an toàn của dữ liệu của bạn . Về mặt thực tế, mã hóa PHP sử dụng các thuật toán [đôi khi được gọi là thuật toán băm] để dịch dữ liệu “rõ ràng” thành văn bản được mã hóa, yêu cầu các quy trình giải mã rất cụ thể để “giải mã” dữ liệu trở lại phiên bản sạch.

Mã hóa nào là tốt nhất cho PHP?

Mã hóa khóa bí mật [hay còn gọi là mã hóa đối xứng] sử dụng một khóa duy nhất để mã hóa và giải mã dữ liệu. Trước đây, PHP dựa vào mcrypt và openssl để mã hóa khóa bí mật. PHP7. 2 giới thiệu Natri, hiện đại hơn và được coi là an toàn hơn.

Mã hóa URL hoạt động như thế nào?

4. Vì vậy, các URL HTTPS có được mã hóa không? . Tuy nhiên, Chỉ báo tên máy chủ được hình thành từ phần tên máy chủ và tên miền của URL được gửi dưới dạng văn bản rõ ràng trong phần đầu tiên của thương lượng TLS .

Chủ Đề