python : caesar cipher

凯撒密码解密加密(C语言) C语言实现凯撒解密加密 #include <stdio.h> #include <string.h> int main() { printf("请输入加密(jia)or解密(jie):"); char a[1000]; int flag=0; gets(a); if(a[2]=='e') { printf("请输入密文:"); flag=1; } else printf("请输入明文:"); char b[1000]; int c[1 阅读详情

序

对python不熟,找到一本用python实现古典密码学算法的书.
对密码算法的应用很感兴趣. 将密码算法实验做完,python也该熟悉了:)
边用边学,学习效率是最高的。有些细节问题,只有在用的时候才会发现。

实验

@echo off
rem @file run.bat

python main.py
pause
@echo off
rem @file debug.bat

python -m pdb main.py
pause
# @file main.py
# @brief caesar cipher
#
# for debug : python -m pdb main.py
# debug same to gdb, ref : https://docs.python.org/2/library/pdb.html
#   n is step over
#   s is step in
#   view val is type the val name and ENTER
#   ENTER is execute last debug command
#   q is quit python debug

"""
run result

Python 3.6.2
cipher text = guvF vF CynvA GrKG:)
plain text = This is plain text:)
END
"""

from subprocess import call

# @fn caesar_cipher
# @brief caesar cipher encrypt or decrypt
# @param b_encryp, True = encrypt; False = decrypt
# @param msg,
#   when (b_encryp == True), msg is plain text
#   when (b_encryp == False), msg is cipher text
# @param cipher_key, the cipher key by caesar cipher
# @return string, the result string
#   when (b_encryp == True), return cipher text
#   when (b_encryp == False), return plain text
def caesar_cipher(b_encryp, msg, cipher_key):
    sz_cipher_charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    i_len_cipher_charset = len(sz_cipher_charset)
    sz_cipher_msg = ""
    c_letter = ''
    i_pos = 0
    i_num = 0

    for c_letter in msg:
        if c_letter in sz_cipher_charset:
            # 求字符在字符集数组中的索引
            i_pos = sz_cipher_charset.find(c_letter)
            i_num = i_pos
            # print("i_pos = ", i_pos, "c_letter = ", c_letter)
            if b_encryp == True:
                i_num += cipher_key
            else:
                i_num -= cipher_key

            if i_num >= i_len_cipher_charset:
                i_num -= i_len_cipher_charset
            elif i_num < 0:
                i_num += i_len_cipher_charset

            sz_cipher_msg += sz_cipher_charset[i_num]
        else:
            # if letter not on charset, don't cipher
            sz_cipher_msg += c_letter

    return sz_cipher_msg

if __name__ == "__main__":
    cipher_key = 13
    sz_cipher_msg = ""

    # print python version
    call(["python", "-V"])

    # caesar encrypt
    sz_cipher_msg = caesar_cipher(True, "This is plain text:)", cipher_key)
    print("cipher text =", sz_cipher_msg)

    # caesar decrypt
    sz_cipher_msg = caesar_cipher(False, "guvF vF CynvA GrKG:)", cipher_key)
    print("plain text =", sz_cipher_msg)

    print("END")

凯撒加密Caesar cipher与古典密码 Caesar cipher 阅读详情

相关推荐

CTF竞赛Writeup:Caesar Cipher Challenge(密码学挑战)

这个CTF题目考察了对经典凯撒密码的理解和破解能力。理解凯撒密码的加密和解密原理。尝试所有可能的偏移量,通过暴力破解找到正确的明文。编写Python脚本,自动化解密过程。提取Flag,找到最终答案。这个题目让我深刻体会到,密码学不仅仅是复杂的数学算法,有时候简单的暴力破解也能解决问题。希望这篇Writeup对你有所帮助!如果你对这个题目还有其他解法,欢迎在评论区分享。

2402_89474604的博客 749

简单的密码技术——凯撒密码(Caesar cipher)

简单的密码技术——凯撒密码(Caesar cipher) 文章目录简单的密码技术——凯撒密码(Caesar cipher)介绍相应代码 介绍 对于加密技术最早的就是凯撒加密,凯撒密码涉及替换情报中的每个字母,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成...

CharlesLC的博客 7671

Python实现简单的凯撒密码算法

凯撒密码算法是一种基于字母替换的加密方法,将明文中的字母通过指定的偏移量进行替换得到密文。在这篇文章中,我们将使用Python语言实现回转13位的凯撒密码算法,并提供完整的源代码。通过上述Python源代码实现,我们已经成功地实现了一个回转13位的凯撒密码算法。以上代码实现了一个名为caesar_cipher的函数,可以将给定的文本字符串进行加密,并返回加密后的字符串。"进行了加密,并将加密后得到的密文字符串输出到控制台中。将偏移后的ASCII码转换为相应的字母,并将其添加到密文字符串中;

BUG?不存在的! 2612

Python学习——Caesar Cipher密码破解(加密)方法

Caesar Cipher 前言 好久没更新博客了,今天我们来共同学习关于恺撒密码(Caesar Cipher)项目。可能对大多数人来讲,并不知道什么是恺撒密码,其实一开始我也不懂,也是查阅了相关资料才了解了什么是Caesar Cipher,恺撒密码说白了是字母密码加密的一种方式,比如你用一段英文给对方发送一则消息,但是你又不想你的消息被第三者知道,那么就可以通过恺撒密码进行传递,将你要传递的消息字母在密钥数字的加密下把正常的一则消息变成一串“乱码”,当然你的通信对象是了解你们之间的“协议”(通信密

j993221317的博客 6116

python:实现恺撒密码Caesar Cipher加解密(附完整源码)

python:实现恺撒密码Caesar Cipher加解密(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 434

恺撒密码(Caesar Cipher)的Python实现

恺撒密码(Caesar Cipher)是一种简单的替换密码,通过将字母表中的每个字母向后移动一个固定数量的位置来加密和解密消息。在这篇文章中,我将向您展示如何使用Python实现恺撒密码的加密和解密功能。

uote_e的博客 360

凯撒密码

恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。----百度百科 ...

iczfy585的博客 2582

恺撒加解密(Caesar cipher)——python脚本实现

恺撒加密的python实现,CTF必备,小游戏很好,恺撒加解密(Caesar cipher)——python脚本实现

python中文版加密解密_python加密与解密

你有很多重复的代码。。。我们来解决这个问题。。在首先只为Caesar密码定义2个函数。一个用于加密和解密字符,另一个用于整个字符串。在正数shift是加密,负数shift是解密。在def cipher_character(character, shift):# Don't convert anything other than english charactersif not character....

weixin_39985279的博客 407

substitution_cipher:Python作业

替代密码 Substitution Cipher,乌拉圭·德·布卢南(她的伯尔·卡拉克特)伊琳·阿尔法·德·法尔克勒·比尔·卡拉克特·库拉尼·马尔卡塔德(rull karakter)。 换人密码希弗莱雷恩VS希弗雷伊çözenuygulamageliştirdim。 阿玛奇 Klasik bir ingilizce kitaptan Substitution Cipheryöntemiileşifrenilenmetininçözülmesi。 替代密码。 永特姆 土耳其语kullanılankarakterlerinfrekanslarıincellendi。 metifrelenmişmetinin karakterlerinfrekansıçıkartıldı。 Çıkartılanfrekans ile harfharitalarıoluşturuldu。 Oluştura

从零到一:基于Esp32与LVGL的ST7789屏幕驱动全流程实战

本文详细介绍了基于Esp32与LVGL的ST7789屏幕驱动全流程实战,包括环境准备、驱动文件改造、硬件接口配置、LVGL集成与优化等关键步骤。通过VSCode+ESP-IDF开发环境,读者可以快速掌握SPI模式下的屏幕驱动开发,解决常见问题如颜色错乱、画面撕裂等,并实现LVGL的高效集成与性能优化。

weixin_33725722的博客 711

pythonisalpha函数_Python:AttributeError:“int”对象没有属性“isalpha”

我希望使用客户机/服务器在python中创建一个Caesar的密码函数。客户端发送带有密钥的消息,服务器对其进行加密。服务器代码:import socketdef getCaesar(message, key):result=""for l in message:if l.isalpha():num = ord(l)num += keyif l.isupper():if num > ord(...

weixin_30666751的博客 819

ADS RFpro 射频阻抗仿真步骤

导入器件后,在库里面选取器件的对应模型,如图所示我们选取10pf 系统自带的村田模型。选取网络上的器件,拖入到下面component Models。导入成功后,截取需要仿真的区域(不截取仿真时间会非常长),可以生成对应如下原理图,通过原理图继续调整仿真。图上找到需要仿真链路上的网络,右键设置为信号。的叠层信息,按照PCB板厂提供信息填写完整。选择仿真的频率范围和频点数,生成如下图的RFPro仿真界。,然后再把GND也添加到下面。按图设置截取需要仿真的部分。添加成功后 网络就有了,15 双击run开始仿真。

m0_72954480的博客 3217

凯撒密码Caesar cipher - Writeup By AI

摘要:该CTF题目使用了凯撒密码加密,密文为"Fhfpgs{3r811r068s5pr27ro4op1p37723q7rr2}"。通过分析发现是ROT13加密(偏移13位),解密后得到flag格式为"Susctf{...}"。解题方法包括手动分析和编写Python脚本暴力破解所有偏移量。凯撒密码作为经典替换加密,可通过穷举或频率分析破解,其中ROT13因加密解密操作相同而常用于隐藏信息。最终flag为"Susctf{3e811e068f5ce27eb4bc1

kang0x0的博客 279

第 3 天:Actor 是什么?创建你的第一个游戏对象!

本文详细介绍 Actor 在 Unreal Engine 5 中的作用,并通过 C++ 创建你的第一个游戏对象。你将学习 Actor 的生命周期(BeginPlay、Tick)、如何添加组件(Static Mesh),并让 Actor 在游戏世界中运作。同时提供 常见问题解决方案,助你快速上手 UE5 C++ 开发!🎮 跟随本教程,构建属于你的第一个游戏对象!

m0_37643873的博客 2630

RS485 MODBUS转PROFINET网关案例丨汇川变频器接入到1200 PROFINET

本案例介绍的是用北京小疆智控(北京)技术有限公司生产的GW-PN5003型MODBUS RTU转PROFINET网关将汇川变频器接入西门子PLC1200 PROFINET网络的使用方法。

bjxjzk的博客 1880

凯撒移位密码python_古典密码学 凯撒密码 Python 实现 Caesar Cipher in Python

原理将26个英文字母分别对应一个数字,循环移位。移位的个数是密钥。如密钥是 B,则移位 1 位;如密钥是 C,则移位 2 位,以此类推。密钥是C(移位2位)对应图如图所示:代码class CaesarCipher:map1 = { "A":0 ,"B":1 ,"C":2 ,"D":3 ,"E":4 ,"F":5 ,"G":6 ,"H":7 ,"I":8 ,"J":9 ,"K":10 ,"L":11...

weixin_39524703的博客 1001

无人机测绘航线生成算法

JavaScript开发和测试无人机测绘航线的自动生成方法,设计可行,算法可靠

ly1302116的专栏 5235

CheckIO Caesar Cipher (Encrypt)

Following code shows a clear way to solve it. #! /usr/bin/env python3 def to_encrypt(text, delta): # replace this for newtext = "" for c in text: if ord(c) != 32: ...

DreamHacker 863

从入门到精通|Yalmip+Cplex在电力系统中的应用(Matlab代码实现)

​ 火电成本包括运行成本、碳捕集成本,其中火电运行成本由运行维护成 本和发电煤耗成本构成,发电煤耗与其出力关系: ,F 为机组煤耗量(kg/h),P 为机组出力/MW;运行维护成本按照 0.5 倍煤耗成本考虑,碳捕集成本取决于碳排放量及碳捕集单价,火电机组相关参数如附表 1 所示,电煤价格为 700 元/t ​

weixin_46039719的博客 1553

D457深度相机调试记录(max96712+max9295A)

使用max96712解串器解4路D457相机。采集深度相机Depth和RGB流。

navy2015_163的博客 1267

python凯撒密码(Caesar Cipher)加密功能

这段代码实现了一个简单的凯撒密码(Caesar Cipher)加密功能,将输入的字符串中的每个字母按照字母表顺序向后移动3位。如果当前字符不是字母(例如数字、符号等),直接将其追加到。,则循环到字母表的开头。非字母字符保持不变。从用户输入获取一个字符串,并存储在变量。,用于存储加密后的结果。打印输入字符串的长度。的整数序列,表示字符串。

babyai996的博客 889

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

checkio练习题:007-caesar-cipher-encryptor

This mission is the part of the set. Another one - Caesar cipher decriptor. Your mission is to encrypt a secret message (text only, without special chars like "!", "&amp;", "?" etc.) using Caesar cip...

化繁为简 428

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Python HAIL CAESAR (凯撒密码) 3

# 6.00x Problem Set 6 # # Part 1 - HAIL CAESAR! import string import random WORDLIST_FILENAME = "E:/python/2015-6-10/words.txt" # ----------------------------------- # Helper code

Awake2015的博客 1261

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python uppercase函数_Python中的Caesar Cipher函数

使用一些ascii数字技巧:# See http://ascii.cl/upper = {ascii:chr(ascii) for ascii in range(65,91)}lower = {ascii:chr(ascii) for ascii in range(97,123)}digit = {ascii:chr(ascii) for ascii in range(48,58)}def cea...

weixin_39923945的博客 360
上一篇: linux : 做一个干净的debian7.5.0的开发环境
下一篇: linux : add new log type to plog
LostSpeed
博客等级 码龄18年 4652粉丝 1681原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值