回转N位密码-Rot
# 简介
RotN(rotate by N places),回转N位密码,是一种简易的替换式密码,也是过去在古罗马开发的凯撒加密的一种变体。
静态工具类 Rot,Encrypt 方法将给定的字符串中的每个字母按照给定的偏移量进行旋转,然后将这些旋转后的字符拼接起来组成加密后的字符串;Decrypt 方法与 Encrypt 方法实现方式类似,但是偏移量需要用 26 减去给定的值。这是因为 ROT 加密算法是一种循环加密算法,即 ROT(n) 加密和 ROT(26 - n) 解密是等效的。
# EasyTool.Rot 类
方法说明:
# Encrypt-将给定的字符串按照 ROT 加密算法进行加密
/// <summary>
/// 将给定的字符串按照 ROT 加密算法进行加密
/// </summary>
/// <param name="text">要加密的字符串</param>
/// <param name="n">偏移量</param>
/// <returns>加密后的字符串</returns>
public static string Encrypt(string text, int n)
# Decrypt-将给定的字符串按照 ROT 加密算法进行解密
/// <summary>
/// 将给定的字符串按照 ROT 加密算法进行解密
/// </summary>
/// <param name="text">要解密的字符串</param>
/// <param name="n">偏移量</param>
/// <returns>解密后的字符串</returns>
public static string Decrypt(string text, int n)
# 代码示例
using System;
using Rot;
class Program
{
static void Main(string[] args)
{
string text = "Hello World!";
int n = 13;
string encryptedText = RotUtil.Encrypt(text, n);
string decryptedText = RotUtil.Decrypt(encryptedText, n);
Console.WriteLine($"Original text: {text}");
Console.WriteLine($"Encrypted text: {encryptedText}");
Console.WriteLine($"Decrypted text: {decryptedText}");
}
}
# 输出结果
Original text: Hello World!
Encrypted text: URYYB JBEYQ!
Decrypted text: HELLO WORLD!
上次更新: 2023/04/26, 22:10:06