首页 > 其他分享 >使用rot13加密解密

使用rot13加密解密

时间:2023-02-01 16:58:27浏览次数:42  
标签:13 加密 ROT13 解密 rot13 换成 result

使用ROT13加密解密

ROT13(回转13位)是一种简易的替换式密码算法。它是一种在英文网络论坛用作隐藏八卦、妙句、谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥。ROT13 也是过去在古罗马开发的凯撒密码的一种变体。ROT13是它自身的逆反,即:要还原成原文只要使用同一算法即可得,故同样的操作可用于加密与解密。该算法并没有提供真正密码学上的保全,故它不应该被用于需要保全的用途上。它常常被当作弱加密示例的典型。

应用ROT13到一段文字上仅仅只需要检查字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可。A换成N、B换成O、依此类推到M换成Z,然后串行反转:N换成A、O换成B、最后Z换成M(如图所示)。只有这些出现在英文字母里的字符受影响;数字、符号、空白字符以及所有其他字符都不变。替换后的字母大小写保持不变。

代码区:

主要思想:
将所有的字符向后移动13位就行了,但要保持大写和小写
其余其他字符不变

加密与解密是相同的函数

加密与解密:

def encrypt_rot13():
    src=input("输入加密字符串:")
    result = ""
    for x in src:
        if(x.isalpha()):
            if(x.isupper()):
                x = ord(x)+13
                if(x>90):
                    x=x-26
            else:
                x = ord(x)+13
                if(x>122):
                    x=x-26
            result = result + chr(x)
        else:
            result = result + x
    return result

运行过程
加密

解密

linux下使用加密rot13加密解密

加密:

tr 'A-Za-z' 'N-ZA-Mn-za-m' <<< "The Quick Brown Fox Jumps Over The Lazy Dog"

解密:

echo "The Quick Brown Fox Jumps Over The Lazy Dog" |tr 'N-ZA-Mn-za-m' 'A-Za-z'


今日诗词

标签:13,加密,ROT13,解密,rot13,换成,result
From: https://www.cnblogs.com/tuzichun/p/17079151.html

相关文章

  • 使用base64编码加密解密
    Base64编码简介Base64这个术语最初是在“MIME内容传输编码规范”中提出的。Base64不是一种加密算法,虽然编码后的字符串看起来有点加密的赶脚。它实际上是一种“二进制到文......
  • 2325.decode the message 解密消息
    问题描述2325.解密消息解题思路利用数组作为哈希表,记录每个字母是第几个出现的代码classSolution{public:stringdecodeMessage(stringkey,stringmessage)......
  • 手机号加密
    /***中间加密字符串截取法*/functionencryptTel1($tel1){$new_tel=substr($tel,0,3).'****'.substr($tel,7);return$new_tel;}/***中间......
  • 网络安全学习之加解密相关知识
    常见编码方式 ASCII、ANSI、GBK、GB2312、UTF-8、GB18030和UNICODE Base64:是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示......
  • 【加密与解密】第六章②
    BlowFish算法这是一个64位分组及可变秘钥长度的分组密码算法,非专利。1.算法原理给予feistal网络(替换/置换网络的典型代表),加密函数迭代执行16轮。分组长度为64位。秘钥长......
  • 【加密与解密】第六章①
    现有的系列号加密算法大都是软件开发者自行设计的,大部分都相当简单。此外还有很多成熟的算法可以使用,例如密码学中一些强度比较高的算法。单向散列算法单向散列算法也称h......
  • 加密你的DNS
    为什么要加密你的DNS?因为传统DNS查询数据以明文方式传输,存在暴露的风险,采用加密DNS可以有效地防止隐私泄露和DNS劫持。隐私泄露:传统DNS请求数据易被其他人获取,从而泄......
  • 【加密与解密】第五章②
    前面几天过年去了,直接他妈摆了小半个月,要死,最近继续之前的进度。警告窗口Nag的意思是烦人。Nag窗口是软件设计者用来不时提醒用户购买正式版本的窗口。去除Nag窗口常用......
  • 易灵思钛金系列加密方案
     易灵思钛金系列加密方案(qq.com)......
  • 常见的JS加密解密
    一种常见的JavaScript解密案例是使用JavaScript的​​eval()​​函数来解密已经加密的代码。例如,一段加密的代码可能看起来像这样:scssCopycodevarencrypted="eval(f......