使用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)+13if(x>90):x=x-26else:x = ord(x)+13if(x>122):x=x-26result = result + chr(x)else:result = result + xreturn 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'

使用ROT13加密解密相关推荐

  1. rot13加密解密原理

    ROT13(回转13位,rotate by 13 places,有时中间加了个连字符称作ROT-13)是一种简易的替换式密码.它是一种在英文网络论坛用作隐藏八卦(spoiler).妙句.谜题解答以及某 ...

  2. ROT13加密和解密

    问题 ROT13(回转13位)是一种简易的替换式密码算法.它是一种在英文网络论坛用作隐藏八卦.妙句.谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥.ROT13 也是过去在古罗马开发的凯撒 ...

  3. ROT13加密与解密(一种加密和解密都会得到同样答案的密文)“替换式密码算法”

    一. ROT13简介: ROT13(回转13位)是一种简易的替换式密码算法.它是一种在英文网络论坛用作隐藏八卦.妙句.谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥.ROT13 也是过去 ...

  4. 第二届360杯全国大学生信息安全技术大赛部分解题思路(加密解密题)

    第二届360杯全国大学生信息安全技术大赛比赛的题目如下: 加密解密第一题: 源码如下: <div class="container"><div class=&qu ...

  5. CTF ROT13加密原理

    问题 ROT13(回转13位)是一种简易的替换式密码算法.它是一种在英文网络论坛用作隐藏八卦.妙句.谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥.ROT13 也是过去在古罗马开发的凯撒 ...

  6. CTF中(Crypto)常见的加密解密网站

    xssee:http://web2hack.org/xssee xssee:http://evilcos.me/lab/xssee 程默的博客(DES,3DES,AES,RC,Blowfish,Two ...

  7. java上传加密_Java上传下载文件并实现加密解密

    使用 Jersey 服务器实现上传,使用 HTTP 请求实现下载 引入依赖 在 pom.xml 中添加 Jersey 相关依赖 com.sun.jersey jersey-client 1.18.1 ...

  8. 提供一个基于.NET的加密/解密算法

    提供一个基于.NET SymmetricAlgorithm 类的.带私钥的加密/解密算法的包装类.使用方法: symmcrypto de = new SymmCrypto(SymmCrypto.Sym ...

  9. 加密解密php,PHP实现的加密解密处理类

    本文实例讲述了PHP实现的加密解密处理类.分享给大家供大家参考,具体如下: /*=========================================================== ...

最新文章

  1. NOIP2015解题报告 By ljt12138
  2. 上周回顾:微软与苹果比赛谁更“不安全”
  3. 苹果微信更新不了最新版本_微信版本又双叒叕更新了,这个功能正式下线
  4. 在线转flv+flash在线录制视频
  5. 作为一名后端开发者,你需要学习和掌握的技术栈都有哪些呢?
  6. mysql数据库sql审核_Inception SQL审核注解
  7. 【转】ORM系列之Entity FrameWork详解
  8. Webpack 中 resolve 路径解析
  9. linux的dhcp配置命令,Linux下DHCP配置命令
  10. spring-第六篇之创建bean的3种方式
  11. Ubuntu18.04配置ork(ecto、ecto_image_pipeline、ecto_opencv、ork_reconstruction)
  12. ThinkPad P73 拆机清灰日志
  13. 台电幻彩(t4jn)系列u盘量产修复工具
  14. (Android7.0) init.rc与AIL(Android Init Language)语句
  15. mysql数据库增加一行_向mysql数据库的座位表添加数据
  16. Sam Altman 山姆奥特曼:关于生产率(工作效率)
  17. NGINX配置以及优化
  18. 36页智慧安防小区管控系统解决方案
  19. 糗事百科 android源码,仿糗事百科Android客户端源码
  20. Mac上一款强大的影视后期特效合成软件,让您快速方便地创建复杂的特效

热门文章

  1. 用Python画一只可爱的小熊猫
  2. oj网站的训练题:输入两个数A,B,输出A+B的值(标准题解)
  3. 微服务: 想办法让项目运行起来
  4. 新库上线 | CnOpenDataA股上市公司董监高信息数据
  5. 安卓玩机搞机技巧综合资源------EROFS分区格式 小米红米机型分区类型 刷写recovery方法列举【三】
  6. react生命周期及hooks
  7. React生命周期大全:
  8. 【经验】申请联合培养博士出国
  9. 手写了一个简单的JSON解析器,网友直乎:牛!
  10. (转)PC+运动控制卡的控制方案