python实现简单加密解密机制


Posted in Python onMarch 19, 2019

本文使用python实现一个简单的加密解密机制。

描述:结合26个字母、以一个单词作为秘钥,使用python实现简单的加密解密机制

秘钥:大写的英文字符串

明文:包含空格、大小写字母、数字等的字符串

代码实现:

# -*- coding: utf-8 -*-
import os,sys 
reload(sys) 
sys.setdefaultencoding('utf8') 
import string
 
def suanfa(key):
  alp = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  jiami_key = {}
  jiemi_key = {}
 
  list0 = list(alp)
  list1 = list(key)
  list2 = list(alp)
  for n in list1:
    for m in list2:
      if m == n:
        list2.remove(m)
 
  alp1 = ''.join(list2)
  key1 = key + alp1
  list3 = list(key1)
 
  a = 0
  if a < len(list0):
    for m in list0:
      jiami_key[m] = list3[a]
      a = a + 1
  
  b = 0
  if b < len(list3):
    for n in list3:
      jiemi_key[n] = list0[b]
      b = b + 1
  
  #print jiami_key
  #print jiemi_key
  return jiami_key, jiemi_key 
 
def bianma(key_dic, data):
  list_data = list(data)
  data1 = []
  for a in list_data:
     if a == ' ':
       data1.append(a)
 
     elif a.islower():
       a = a.upper()
       if key_dic.has_key(a):
         x = key_dic[a]
         data1.append(x.lower())
 
     elif a.isupper():
       if key_dic.has_key(a):
         x = key_dic[a]
         data1.append(x)
     else:
       data1.append(a)
 
  data2 = ''.join(data1)
  #print data2
  return data2
 
def main():
  key = 'ZDFKJMNX'
  data = 'a bdcd sFDGDSGFDG113243 3'
  print "秘钥:" + key
  print "明文:" + data
 
  jiami_key, jiemi_key = suanfa(key)
  miwen = bianma(jiami_key, data)
  mingwen = bianma(jiemi_key, miwen)
 
  print "加密明文所得的密文:" + miwen
  print "解密密文所得的明文:" + mingwen
  return True
 
if __name__ == "__main__":
  main()

运行结果:

# python jiami.py 
秘钥:ZDFKJMNX
明文:a bdcd sFDGDSGFDG113243 3
加密明文所得的密文:z dkfk qMKNKQNMKN113243 3
解密密文所得的明文:a bdcd sFDGDSGFDG113243 3

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python显示天气预报
Mar 02 Python
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
python3新特性函数注释Function Annotations用法分析
Jul 28 Python
Python变量和字符串详解
Apr 29 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
django 在原有表格添加或删除字段的实例
May 27 Python
详解python里的命名规范
Jul 16 Python
Python中__slots__属性介绍与基本使用方法
Sep 05 Python
三步实现Django Paginator分页的方法
Jun 11 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 #Python
python异步存储数据详解
Mar 19 #Python
利用Python半自动化生成Nessus报告的方法
Mar 19 #Python
python实现手机销售管理系统
Mar 19 #Python
Python使用修饰器进行异常日志记录操作示例
Mar 19 #Python
python学生管理系统学习笔记
Mar 19 #Python
Python操作rabbitMQ的示例代码
Mar 19 #Python
You might like
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
php的计数器程序
2006/10/09 PHP
php基础知识:类与对象(1)
2006/12/13 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
Python中如何获取类属性的列表
2016/12/26 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
Django forms组件的使用教程
2018/10/08 Python
python实现维吉尼亚加密法
2019/03/20 Python
python和c语言的主要区别总结
2019/07/07 Python
Form表单及django的form表单的补充
2019/07/25 Python
python 制作简单的音乐播放器
2020/11/25 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
宝宝满月祝酒词
2015/08/10 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
python代码实现备忘录案例讲解
2021/07/26 Python
Pygame Event事件模块的详细示例
2021/11/17 Python
详解flex:1什么意思
2022/07/23 HTML / CSS