赞
踩
凯撒密码(Caesar cipher)是一种简单的替换加密方法,它将文本中的每个字母都向后(或向前)移动固定数量的位置。
以下是一个C语言示例,用于实现凯撒密码的加密和解密功能。
#include <stdio.h> #include <string.h> // 凯撒密码加密函数 void caesar_encrypt(char *text, int key) { for (int i = 0; i < strlen(text); i++) { char ch = text[i]; // 对字母进行加密 if (isalpha(ch)) { if (islower(ch)) { text[i] = 'a' + (ch - 'a' + key) % 26; } else if (isupper(ch)) { text[i] = 'A' + (ch - 'A' + key) % 26; } } } } // 凯撒密码解密函数 void caesar_decrypt(char *text, int key) { caesar_encrypt(text, 26 - key); // 解密即加密的逆操作 } int main() { char text[100]; int key; printf("请输入要加密的文本: "); gets(text); printf("请输入加密/解密密钥 (位移数): "); scanf("%d", &key); caesar_encrypt(text, key); printf("加密后的文本: %s\n", text); caesar_decrypt(text, key); // 解密文本 printf("解密后的文本: %s\n", text); return 0; }
在这个C语言示例中,我们定义了两个函数,caesar_encrypt
用于加密文本,caesar_decrypt
用于解密文本。用户输入要加密的文本和加密密钥,然后程序将对文本进行加密,并显示加密后的结果,随后进行解密操作以验证。
请注意,这只是一个基本的凯撒密码示例,不是用于安全通信的安全加密方法。在实际应用中,需要更强大的加密算法。
以下是一个用JavaScript实现的简单凯撒密码加密和解密的示例:
// 凯撒密码加密函数 function caesarEncrypt(text, key) { let result = ''; for (let i = 0; i < text.length; i++) { let char = text[i]; if (/[a-zA-Z]/.test(char)) { let isUpperCase = char === char.toUpperCase(); let offset = isUpperCase ? 65 : 97; let encryptedChar = String.fromCharCode((char.charCodeAt(0) - offset + key) % 26 + offset); result += isUpperCase ? encryptedChar : encryptedChar.toLowerCase(); } else { result += char; } } return result; } // 凯撒密码解密函数 function caesarDecrypt(text, key) { return caesarEncrypt(text, 26 - key); // 解密即加密的逆操作 } // 测试 let originalText = "Hello, World!"; let encryptionKey = 3; let encryptedText = caesarEncrypt(originalText, encryptionKey); console.log("加密后的文本: " + encryptedText); let decryptedText = caesarDecrypt(encryptedText, encryptionKey); console.log("解密后的文本: " + decryptedText);
这个JavaScript示例定义了 caesarEncrypt
函数用于加密文本,以及 caesarDecrypt
函数用于解密文本。您可以调用这些函数来进行加密和解密操作。在示例中,我们将 “Hello, World!” 用凯撒密码进行加密,然后解密以验证。您可以修改 originalText
和 encryptionKey
变量来测试不同的文本和密钥。
以下是一个用Python实现的简单凯撒密码加密和解密的示例:
# 凯撒密码加密函数 def caesar_encrypt(text, key): encrypted_text = "" for char in text: if char.isalpha(): # 仅对字母进行加密 shift = 65 if char.isupper() else 97 encrypted_char = chr((ord(char) - shift + key) % 26 + shift) encrypted_text += encrypted_char else: encrypted_text += char return encrypted_text # 凯撒密码解密函数 def caesar_decrypt(text, key): return caesar_encrypt(text, -key) # 解密即加密的逆操作 # 测试 original_text = "Hello, World!" encryption_key = 3 encrypted_text = caesar_encrypt(original_text, encryption_key) print("加密后的文本:", encrypted_text) decrypted_text = caesar_decrypt(encrypted_text, encryption_key) print("解密后的文本:", decrypted_text)
这个Python示例定义了 caesar_encrypt
函数用于加密文本,以及 caesar_decrypt
函数用于解密文本。您可以调用这些函数来进行加密和解密操作。在示例中,我们将 “Hello, World!” 用凯撒密码进行加密,然后解密以验证。您可以修改 original_text
和 encryption_key
变量来测试不同的文本和密钥。
以上就是本文所有内容了,希望能对你有所帮助,能够解决凯撒密码问题。
如果你喜欢本文,也请务必点赞、收藏、评论、转发,这会对我有非常大的帮助。请我喝杯冰可乐也是极好的!
已完结,欢迎持续关注。下次见~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。