zoukankan      html  css  js  c++  java
  • ROT13 加密与解密

    ROT13简介:

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

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

    1.密文 rot13在线解密

    https://www.ctftools.com/down/
    http://www.mxcz.net/tools/rot13.aspx

    利用python编写的加解密脚本:

    #coding:utf-8
    
    import string
    
    def decoder(crypt_str,shift):
        crypt_list = list(crypt_str)
        plain_str = ""
        num = int(shift)
        for ch in crypt_list:
            ch = ord(ch)
            if ord('a') <= ch and ch <= ord('z'):
                ch = ch + num
                if ch > ord('z'):
                    ch -= 26
            if ord('A') <= ch and ch <= ord('Z'):
                ch = ch +num
                if ch > ord('Z'):
                    ch -= 26
            a=chr(ch)
            plain_str += a
    
        print(plain_str)
    
    crypt_str = raw_input("Crypto_text:")
    print "!------decode------!"
    shift=13
    decoder(crypt_str,shift)
  • 相关阅读:
    虚拟机Linux5下安装MyEclipse2014的步骤
    鉴赏
    Linux环境下安装WebStorm
    Bootstrap模态框
    AngularJs
    按钮颜色
    虚拟机里的weblogic之后怎样进入
    搭建GlusterFS文件系统
    邮件服务器fixpost服务(1)
    unbound域名解析
  • 原文地址:https://www.cnblogs.com/ESHLkangi/p/9363075.html
Copyright © 2011-2022 走看看