使用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基于dom操作xml数据的方法示例
May 12 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
python requests抓取one推送文字和图片代码实例
Nov 04 Python
Python实现点云投影到平面显示
Jan 18 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
django queryset 去重 .distinct()说明
May 19 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
Python Django搭建网站流程图解
Jun 13 Python
Pandas DataFrame求差集的示例代码
Dec 13 Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 Python
Python之Sklearn使用入门教程
Feb 19 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中intval()等int转换时的意外异常情况
2013/06/21 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
JavaScript中Function详解
2015/02/27 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
Node.js简单入门前传
2017/08/21 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
Python如何实现线程间通信
2020/07/30 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
python 录制系统声音的示例
2020/12/21 Python
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
2012/11/09 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
《两只鸟蛋》教学反思
2014/02/10 职场文书
交通事故调解协议书
2015/05/20 职场文书
结婚典礼主持词
2015/06/29 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书