使用python加密自己的密码


Posted in Python onAugust 04, 2015

有些时候我们不得不在自己的代码里写上密码,为了安全起见,我们可以为自己的密码加密

先上段代码,这个代码是转自网上

root@ProFtp:/usr/lib/python2.7# more jastmencrypt.py
"""
jastme encrypt password
"""
def encrypt(key, s): 
  b = bytearray(str(s).encode("gbk")) 
  n = len(b) # 求出 b 的字节数 
  c = bytearray(n*2) 
  j = 0 
  for i in range(0, n): 
    b1 = b[i] 
    b2 = b1 ^ key # b1 = b2^ key 
    c1 = b2 % 16 
    c2 = b2 // 16 # b2 = c2*16 + c1 
    c1 = c1 + 65 
    c2 = c2 + 65 # c1,c2都是0~15之间的数,加上65就变成了A-P 的字符的编码 
    c[j] = c1 
    c[j+1] = c2 
    j = j+2 
  return c.decode("gbk") 
 
def decrypt(key, s): 
  c = bytearray(str(s).encode("gbk")) 
  n = len(c) # 计算 b 的字节数 
  if n % 2 != 0 : 
    return "" 
  n = n // 2 
  b = bytearray(n) 
  j = 0 
  for i in range(0, n): 
    c1 = c[j] 
    c2 = c[j+1] 
    j = j+2 
    c1 = c1 - 65 
    c2 = c2 - 65 
    b2 = c2*16 + c1 
    b1 = b2^ key 
    b[i]= b1 
  try: 
    return b.decode("gbk") 
  except: 
    return "failed"

以UTF8的编码保存这个代码到/usr/lib/python2.7

In [1]: import jastmencrypt
 
In [3]: jastmencrypt.encrypt(119,'mypassword')        加密
Out[3]: u'KBOAHAGBEAEAAAIBFADB'
 
In [4]: jastmencrypt.decrypt(119,'KBOAHAGBEAEAAAIBFADB')   解密
Out[4]: u'mypassword'

我们在ipython中先加密好密码,然后拿到代码里,要使用的时候解密一下即可,这样可以很大程度上保证我们的密码安全。

以上就是本文给大家分享的全部内容了,希望对大家学习Python代码能够有所帮助。

Python 相关文章推荐
浅谈Python的Django框架中的缓存控制
Jul 24 Python
Python判断两个对象相等的原理
Dec 12 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
Python Celery多队列配置代码实例
Nov 22 Python
使用Pyhton集合set()实现成果查漏的例子
Nov 24 Python
在python中计算ssim的方法(与Matlab结果一致)
Dec 19 Python
pytorch 归一化与反归一化实例
Dec 31 Python
python爬虫库scrapy简单使用实例详解
Feb 10 Python
python可视化text()函数使用详解
Feb 11 Python
Python可以实现栈的结构吗
May 27 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
Python基础详解之邮件处理
Apr 28 Python
Python实现字典的key和values的交换
Aug 04 #Python
python利用装饰器进行运算的实例分析
Aug 04 #Python
浅谈python多线程和队列管理shell程序
Aug 04 #Python
python中使用序列的方法
Aug 03 #Python
python实现备份目录的方法
Aug 03 #Python
python使用MySQLdb访问mysql数据库的方法
Aug 03 #Python
浅谈Python中列表生成式和生成器的区别
Aug 03 #Python
You might like
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
JavaScript入门之基本函数详解
2011/10/21 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
django教程如何自学
2020/07/31 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
利用python进行文件操作
2020/12/04 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
活动邀请函范文
2014/01/19 职场文书
安全生产实施方案
2014/02/23 职场文书
实习指导老师评语
2014/04/26 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python