使用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中关于中文编码问题的处理建议
Apr 08 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
python中split方法用法分析
Apr 17 Python
python实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python卸载模块的方法汇总
Jun 07 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
Sep 18 Python
python执行精确的小数计算方法
Jan 21 Python
pytz格式化北京时间多出6分钟问题的解决方法
Jun 21 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
python通过opencv实现图片裁剪原理解析
Jan 19 Python
Python利用逻辑回归分类实现模板
Feb 15 Python
matlab xlabel位置的设置方式
May 21 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-fpm的两种进程管理模式详解
2013/06/03 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python中文件操作简明介绍
2015/04/13 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
python django生成迁移文件的实例
2019/08/31 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
django使用channels实现通信的示例
2020/10/19 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
别名指示符是什么
2012/10/08 面试题
《在家里》教后反思
2014/03/01 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
护理医院见习报告
2014/11/03 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书