python MD5加密大小写,32位16位任选

import hashlib

string = 'userId=669&apikey=098f6bcd4621d373cade4e832627b4f6&times='

def md5value(key):
    input_name = hashlib.md5()
    input_name.update(key.encode("utf-8"))
    print("大写的32位" + (input_name.hexdigest()).upper())
    print("大写的16位"+(input_name.hexdigest())[8:-8].upper())
    print("小写的32位" + (input_name.hexdigest()).lower())
    print("小写的16位" + (input_name.hexdigest())[8:-8].lower())


md5value(string)

 

### 凯撒密码加密解密实验报告 #### 实验目的 通过实现凯撒密码的加密与解密功能,理解古典对称加密算法的工作原理及其局限性。掌握字符移变换的基本操作方法,并验证其安全性[^1]。 #### 实验环境 - 编程语言:Python 3.x - 开发工具:PyCharm 或 Jupyter Notebook - 操作系统:Windows/Linux/MacOS (任选) #### 实验内容概述 本实验主要分为两个部分——凯撒密码的加密过程和解密过程。通过对明文字符串应用固定的偏移量来生成密文;再利用相同的偏移量反向运算恢复原始消息[^2]。 #### 加密函数设计 以下是基于 Python 的简单凯撒加密函数: ```python def caesar_encrypt(plain_text, shift): cipher_text = "" for char in plain_text: if char.isalpha(): stay_in_alphabet = ord(char) + shift final_letter = chr(stay_in_alphabet) # Handle wrapping around the alphabet if not final_letter.isalpha() or (char.isupper() and final_letter.islower()): wrap_adjustment = 26 if char.isupper() else -26 final_letter = chr(ord(final_letter)+wrap_adjustment) cipher_text += final_letter else: cipher_text += char return cipher_text ``` 此代码片段定义了一个名为 `caesar_encrypt` 的函数,它接受两个参数:待加密的消息以及字母表中的移动步数(shift)[^3]。 #### 解密函数设计 同样可以构建一个用于解码已编码文本的功能模块如下所示: ```python def caesar_decrypt(cipher_text, shift): decrypted_message = "" for char in cipher_text: if char.isalpha(): original_position = ord(char) - shift restored_char = chr(original_position) # Ensure correct case handling after decryption if not restored_char.isalpha() or (char.isupper() != restored_char.isupper()): adjustment = -26 if char.isupper() else 26 restored_char = chr(ord(restored_char)+adjustment) decrypted_message += restored_char else: decrypted_message += char return decrypted_message ``` 上述程序实现了基本版的凯撒解密逻辑,其中包含了大小写字母处理机制[^4]。 #### 测试案例分析 为了测试以上编写的加/解密函数是否正常工作,可准备几组不同的输入数据来进行验证。例如尝试以下几种情况下的转换效果: - 小写英文字母组成的短句; - 含有大写字母混合的小段落; - 特殊符号保留不变的情况检验。 #### 结果讨论 经过多次运行不同类型的样本集之后,总结出该简易版本存在哪些潜在缺陷或者改进空间?比如当面对更复杂的实际应用场景时可能遇到的问题有哪些? #### 总结陈词 最后,在完成全部试验环节的基础上给出个人对于本次学习经历的感受评价,包括但不限于技术收获、理论认知提升等方面的内容描述。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值