Hướng dẫn dùng xors trong PHP

Quay lại logic 101 có lẽ bạn đã học được rằng tiếng Anh 'hoặc' có nghĩa là, đáng buồn thay, hai điều khác nhau: bao gồm ['rau bina hoặc romaine là ổn'] và độc quyền ['tồn tại hoặc không tồn tại'].

Trong các mạch 101 [hoặc cs 101, hoặc bất cứ điều gì], bạn có thể bị ấn tượng bởi việc dễ dàng xây dựng các cổng logic cơ bản với các bóng bán dẫn.

Tuy nhiên, đôi khi - khi lập trình ngày càng trở nên trừu tượng hơn từ mã máy, đến sự khó chịu của một số nhà phát triển [ Linus ' ] - các nhà phát triển có thời hạn trượt thoải mái vào một ngôn ngữ, yêu thích tập hợp các tính năng của nó hữu ích nhất cho một vài ứng dụng web cực kỳ phổ biến và thấy mình bị mắc kẹt trong một từ vựng mã hóa hoạt động nhỏ hơn một chút so với bộ hướng dẫn mà họ hiểu một cách thụ động. [Đúng với ngôn ngữ tự nhiên , không có gì đáng ngạc nhiên.]

Vì vậy, nếu bạn viết mã và mã trong PHP, thì có lẽ bạn hiểu XOR và biết rằng XOR là một toán tử trong PHP. Nhưng tôi đã không làm thế, vì tôi đã học PHP từ mã hiện tại, không phải là một cuốn sách - và mã hiện tại dường như không chứa nhiều XOR.

Nếu điều này có vẻ quen thuộc:

$dir1 = 'download_A';
$dir2 = 'download_B';
 
if[[is_dir[$dir1] && !is_dir[$dir2]] || [!is_dir[$dir1] && is_dir[$dir2]]] {
    echo "Only one Directory exists!";
}

sau đó bạn có thể muốn xem bài đăng này , trong đó chỉ cho bạn cách đơn giản hóa mã này bằng XOR và nhắc nhở bạn rằng không bao giờ có lý do chính đáng để không.

Nhân tiện: gửi bình luận ở đây nếu bạn thích các mẹo mã cấp thấp như thế này - hoặc nếu bạn không. Nếu bạn là người đọc DZone thông thường và có thể sử dụng mẹo mã hóa hàng tuần ngay tại đây trên trang web này, tôi đã sẵn sàng hơn cho bạn.

  • web dev

7 hữu ích 0 bình luận 4.4k xem chia sẻ

Quay lại logic 101 có lẽ bạn đã học được rằng tiếng Anh 'hoặc' có nghĩa là, đáng buồn thay, hai điều khác nhau: bao gồm ['rau bina hoặc romaine là ổn'] và độc quyền ['tồn tại hoặc không tồn tại'].

Trong các mạch 101 [hoặc cs 101, hoặc bất cứ điều gì], bạn có thể bị ấn tượng bởi việc dễ dàng xây dựng các cổng logic cơ bản với các bóng bán dẫn.

Tuy nhiên, đôi khi - khi lập trình ngày càng trở nên trừu tượng hơn từ mã máy, đến sự khó chịu của một số nhà phát triển [ Linus ' ] - các nhà phát triển có thời hạn trượt thoải mái vào một ngôn ngữ, yêu thích tập hợp các tính năng của nó hữu ích nhất cho một vài ứng dụng web cực kỳ phổ biến và thấy mình bị mắc kẹt trong một từ vựng mã hóa hoạt động nhỏ hơn một chút so với bộ hướng dẫn mà họ hiểu một cách thụ động. [Đúng với ngôn ngữ tự nhiên , không có gì đáng ngạc nhiên.]

Vì vậy, nếu bạn viết mã và mã trong PHP, thì có lẽ bạn hiểu XOR và biết rằng XOR là một toán tử trong PHP. Nhưng tôi đã không làm thế, vì tôi đã học PHP từ mã hiện tại, không phải là một cuốn sách - và mã hiện tại dường như không chứa nhiều XOR.

Nếu điều này có vẻ quen thuộc:

$dir1 = 'download_A';
$dir2 = 'download_B';
 
if[[is_dir[$dir1] && !is_dir[$dir2]] || [!is_dir[$dir1] && is_dir[$dir2]]] {
    echo "Only one Directory exists!";
}

sau đó bạn có thể muốn xem bài đăng này , trong đó chỉ cho bạn cách đơn giản hóa mã này bằng XOR và nhắc nhở bạn rằng không bao giờ có lý do chính đáng để không.

Nhân tiện: gửi bình luận ở đây nếu bạn thích các mẹo mã cấp thấp như thế này - hoặc nếu bạn không. Nếu bạn là người đọc DZone thông thường và có thể sử dụng mẹo mã hóa hàng tuần ngay tại đây trên trang web này, tôi đã sẵn sàng hơn cho bạn.

  • web dev

7 hữu ích 0 bình luận 4.4k xem chia sẻ

Tôi đang nghiên cứu về mã hóa. Và tôi gặp một vấn đề như sau:

Sau khi tôi XOR bản rõ bằng khóa, tôi nhận được một mật mã, "010e010c15061b4117030f54060e54040e0642181b17", là loại hex. Nếu tôi muốn lấy bản rõ từ hầm mộ này, tôi phải làm gì trong PHP?

Tôi đã thử chuyển đổi nó thành chuỗi / int và sau đó chuyển chúng sang XOR bằng khóa [ba chữ cái]. Nhưng nó không hoạt động.

Đây là mã:

function xor_this[$string] {

    // Let's define our key here
    $key = 'fpt';

    // Our plaintext/ciphertext
    $text = $string;

    // Our output text
    $outText = '';

    // Iterate through each character
    for[$i=0; $i> Có thể bạn quan tâm: Tất tật bạn phải biết về "Giải mã mật khẩu"

Chủ Đề