Mã hóa mật khẩu PHP
Mã hóa là một quá trình chuyển đổi một văn bản thuần túy thành một tin nhắn bằng cách sử dụng một số thuật toán mà bất kỳ người dùng thứ ba nào cũng không thể đọc được thông tin. Điều này rất hữu ích cho việc truyền thông tin nhạy cảm vì có ít cơ hội cho kẻ xâm nhập nhắm mục tiêu thông tin được chuyển hơn. Mã hóa được thực hiện bằng một quá trình gọi là Cryptography . Văn bản sẽ được mã hóa được gọi là Văn bản thuần túy và văn bản hoặc tin nhắn thu được sau khi mã hóa được gọi là Văn bản mật mã . Quá trình chuyển đổi văn bản mật mã sang văn bản thuần túy được gọi là Giải mã . Laravel sử dụng mã hóa AES-256 và AES-128 , sử dụng Open SSL để mã hóa. Tất cả các giá trị có trong Laravel đều được ký bằng cách sử dụng Mã xác thực thông báo giao thức để giá trị cơ bản không thể bị giả mạo khi nó được mã hóa. Cấu hìnhLệnh được sử dụng để tạo khóa trong Laravel được hiển thị bên dưới: php Xin lưu ý rằng lệnh này sử dụng trình tạo byte ngẫu nhiên an toàn của PHP và bạn có thể thấy đầu ra như được hiển thị trong ảnh chụp màn hình bên dưới: Lệnh được đưa ra ở trên giúp tạo khóa có thể được sử dụng trong ứng dụng web. Quan sát ảnh chụp màn hình được hiển thị bên dưới – Ghi chúCác giá trị mã hóa được căn chỉnh chính xác trong tệp config / app.php , bao gồm hai tham số để mã hóa là khóa và mật mã . Nếu giá trị sử dụng khóa này không được căn chỉnh đúng, tất cả các giá trị được mã hóa trong Laravel sẽ không an toàn. Quy trình mã hóaMã hóa một giá trị có thể được thực hiện bằng cách sử dụng trình trợ giúp mã hóa trong bộ điều khiển của lớp Laravel. Các giá trị này được mã hóa bằng OpenSSL và AES-256 cipher. Tất cả các giá trị được mã hóa được ký bằng mã Xác thực Thư (MAC) để kiểm tra bất kỳ sửa đổi nào của chuỗi được mã hóa. Đoạn mã hiển thị bên dưới được đề cập trong một bộ điều khiển và được sử dụng để lưu trữ bí mật hoặc tin nhắn nhạy cảm.
Quy trình giải mãViệc giải mã các giá trị được thực hiện với trình trợ giúp giải mã . Quan sát các dòng mã sau:
Xin lưu ý rằng nếu quá trình giải mã không thành công do MAC không hợp lệ đang được sử dụng, thì một ngoại lệ thích hợp sẽ được ném ra. Chúng tôi cung cấp một công cụ mã hóa mã nguồn PHP chạy online và nó là miến phí khi sử dụng, truy cập link phía dưới để sử dụng Trang chủ: phpencode.cmbliss.com - Với công cụ này các bạn có thể đặt mật khẩu cho file PHP của mình và khi cần giải mã ngược lại thì cũng cần nhập đúng mật khẩu dùng để mã hóa - Hệ thống có 2 chức năng là mã hóa và giải mã, để mã hóa thật đơn gian các bạn chỉ cần copy đoạn mã của file PHP rồi dán vào ô nội dung, khi nội dung trong ô nội dung có thay đổi hệ thống sẽ tự động chạy mã hóa và các bạn chỉ cần chờ cho đến khi mã hóa thành công rồi copy nội dung đã mã hóa và dán trở lại file PHP của bạn (xin lưu ý là hãy sao lưu một bản trước khi mã hóa) - Để giải mã đoạn code đã được mã hóa cũng thật đơn gian các bạn chỉ cần copy đoạn mã được mã hóa rồi dán vào ô nội dung bên trái và hệ thống sẽ tự động phát hiện và chạy giải mã xong và hiển thị ở ô nội dung bên phải, với những trường hợp có mật khẩu các bạn cạn nhập mật khẩu trước rồi mới dán nội dung mã hóa Chú ý: đây chỉ là giải pháp phòng tránh hoặc tạo ra sự phức tạp khi lấy trộm mã php dành cho những đối tượng người dùng không chuyên sâu về công nghệ thông tin và đây không phải là giải pháp tuyệt đối để bảo mật mã PHP của bạn Với các ứng dụng web thì bảo mật tài khoản, mật khẩu đăng nhập là một tính năng quan trọng và cần được thiết kế cẩn thận nhất. Bất kỳ sự cố nào liên quan tới tài khoản, mật khẩu cũng tiềm ẩn nguy cơ website bị mất quyền kiểm soát hoặc nội dung website có thể bị thay đổi. Đối với các bạn phát triển ứng dụng web thì việc bảo mật, mã hoá mật khẩu là rất cần thiết và bắt buộc. Hiện nay, gần như tất cả các PHP framework đều hỗ trợ các thư viện mã hoá mật khẩu đủ mạnh để bảo đảm mật khẩu được mã hoá an toàn mà không bị giải mã. Tuy nhiên, nếu các bạn không sử dụng các PHP framework có hỗ trợ thư viện mã hoá mật khẩu thì các bạn có thể sử dụng thư viện PHP Password Library. Code: Bây giờ, các bạn có thể sử dụng thư viện PHP Password Library để mã hoá mật khẩu như ví dụ sau:PHP: Các bạn có thể tìm hiểu thêm về thư viện PHP Password Library tại địa chỉ https://rchouinard.github.io/phpass.
|