---
# System prepended metadata

title: CTF解題：變形凱薩caesar
tags: [python, CTF, caesar]

---

# CTF解題：變形凱薩caesar
SecurityFoscusOnline2023
https://m.facebook.com/profile.php?id=100065584200879

![](https://i.imgur.com/5hYzCiu.png =50%x)
```python=
import string

caesaralpha = "abcdefghijklmnopqrstuvwxyz0123456789"
#將數字們放前面並不影響，但是數字放中間不行，因為影響英文字母的次序性。

def caesar(input_string,rot) :
    output_string = ""
    for i in range(len(input_string)):
        if input_string[i].isalnum(): #判斷是不是數字
            idx = (caesaralpha.find(input_string[i]) + rot) % len(caesaralpha)
            output_string += caesaralpha[idx]
        else: #文字
            output_string += input_string[i]
    return output_string

enc = '7sj-ighm-742q3w4t' # encrypt data

for i in range(len(caesaralpha)): 
    print(caesar(enc, i))
#會在輸出中找到'rc3-2016-romangod'
#
#輸入此字串會出現提示錯誤答案，發現題目中的rc3為大寫
# .upper() 轉成大寫後，得出正確答案
```
