Mật Mã Caesar - Lập Trình
Có thể bạn quan tâm
Sử dụng Mật mã Caesar trong Ngôn ngữ lập trình Java
Dựa vào cơ chế vừa nêu trên của Mật mã Caesar, chúng ta viết một lớp tên là CaesarCode và thực hiện phương thức mã hoá encrypt() như sau:
public static String encrypt(String msg, int key) { char arr[] = new char[msg.length()]; for (int i = 0; i < msg.length(); i++) { int e = (int) msg.charAt(i) + key; e = e > (int) 'Z' ? e - 26 : e; arr[i] = (char) e; } return new String(arr); }Thực hiện cơ chế giải mã dựa vào phương thức decrypt() như sau:
public static String decrypt(String msg, int key) { char arr[] = new char[msg.length()]; for (int i = 0; i < msg.length(); i++) { int e = (int) msg.charAt(i) - key; e = e < (int) 'A' ? e + 26 : e; arr[i] = (char) e; } return new String(arr); }Chúng ta có thể viết hàm main() để kiểm tra cơ chế mã hoá và giải mã của mật mã Caesar như sau:
public static void main(String[] args) { int key = 25; String originalMessage = "HELLOCAESARCODE"; String encryptedMessage = CaesarCode.encrypt(originalMessage, key); String decryptedMessage = CaesarCode.decrypt(encryptedMessage, key); System.out.println("Original Message: " + originalMessage); System.out.println("Encrypted Message: " + encryptedMessage); System.out.println("Decrypted Message: " + decryptedMessage); }Tất nhiên, với số lượng chìa khoá mã giới hạn là 25 như vậy thì thật chẳng khó khăn gì với một người bình thường mà chưa muốn nói gì đến việc sử dụng máy tính đặc biệt là lập trình. Ta có thể viết chương trình để phá mật mã Caesar như sau:
public static void main(String[] args) { for (int i = 1; i < 26; i++) { System.out.println("Key=" + i + " -> " + CaesarCode.decrypt(encryptedMessage, i)); } }Xem chi tiết mã nguồn tham khảo tại đây.
Hoặc có thể chạy thử chương trình sau:
Từ khóa » Giải Mật Mã Caesar
-
Mật Mã Học: Phần 1 - Mã Hóa Caesar - Viblo
-
Hướng Dẫn Giải Mật Mã Caesar - Hỏi Đáp
-
Cách Giải Mật Mã Caesar - Thả Rông
-
Giải Mã Mật Mã Caesar - DMOJ: Modern Online Judge
-
Mã Hóa Cổ điển - Mã Hóa Ceasar - YouTube
-
Giải Mã Mật_mã_Caesar - Tieng Wiki
-
Mật Mã Caesar - Wikimedia Tiếng Việt
-
Mật Mã Caesar - TutorialCup
-
Các Cách Giải Mã Kí Tự | Gravity Falls Wiki Tiếng Việt | Fandom
-
Mật Mã Caesar - Wiki Là Gì
-
Xây Dựng Chương Trình Chuyển đổi Ký Tự Bằng Cách Sử Dụng Hệ Mật ...
-
[Crypto] 02 – Mã Caesar - Nhat Truong Blog