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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM