密码术俱乐部的规则之一是永远不要发明自己的密码系统。密码俱乐部的第二条规则是:永远不要自己实现密码系统:在现实世界中,密码系统的实现和设计中发现了很多漏洞。

Python中一个有用的基本加密库叫做密码学。它不仅是一个“安全”的基础库,也是一个“危险”的层。“危险”层需要更多的关注和相关知识,很容易造成安全漏洞。在这篇介绍性文章中,我们将不涉及“危险”层的任何内容!

密码术库中最有用的高级安全特性是Fernet实现。Fernet是一个实用的加密缓冲标准。它不适用于非常大的文件,例如超过千兆字节的文件,因为它要求您一次将要加密或解密的内容加载到内存缓冲区中。

Fernet支持对称(即秘密密钥)加密*:加密和解密使用相同的密钥,因此必须保持安全性。

生成密钥很简单:

k=fernet .Fernet.generate_key()类型(k)类”字节”

这些字节可以在安全机器上以适当的权限写入文件。

一旦你有了密钥,加密也很容易:

frn=fernet .加密的[:10加密的Fernet(k)frn .解密(加密)b ‘ xmarksthespot ‘

如果你在你的机器上加密,你会看到稍微不同的值。不仅仅是因为(我希望)你已经生成了一个不同于我的密钥,还因为Fernet用一些随机生成的缓冲区连接了要加密的值。这是我之前提到的“实践”之一:它将防止对手区分哪些加密值是相同的。

解密也很简单:

请注意,这仅加密和解密字节字符串。为了加密和解密文本字符串,通常需要使用UTF-8对它们进行编码和解码。

20世纪中期密码学最有趣的进步之一是公钥加密。它可以在释放加密密钥的同时对解密密钥保密。例如,它可以用来保存服务器使用的应用编程接口密钥:服务器是可以访问解密密钥的一方,但是任何人都可以保存公共加密密钥。

虽然密码学没有任何支持公钥加密的安全特性,但是PyNaCl库有。PyNaCl封装并提供了一些使用丹尼尔·伯恩斯坦(Daniel J. Bernstein)发明的氯化钠加密系统的好方法。

氯化钠总是同时加密和签名,或者同时解密和验证签名。这是一种防止基于延展性的方法,罪犯在延展性的基础上修改加密值。

极牛网精选文章《Python如何玩转加密?》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://jikenb.com/5281.html

python 如何加密_Python如何玩转加密?相关推荐

  1. python如何加密_Python如何玩转数据加密?

    Python如何玩转数据加密? 密码学俱乐部的第一条规则是:永远不要自己发明密码系统.密码学俱乐部的第二条规则是:永远不要自己实现密码系统:在现实世界中,在实现以及设计密码系统阶段都找到过许多漏洞. ...

  2. python 文件加密_python实现文件快照加密保护的方法

    本文实例讲述了python实现文件快照加密保护的方法.分享给大家供大家参考.具体如下: 这段代码可以对指定的目录进行扫描,包含子目录,对指定扩展名的文件进行SHA-1加密后存储在cvs文件,以防止文件 ...

  3. python爬虫处理js混淆加密_Python爬虫—破解JS加密的Cookie

    專 欄 ❈Jerry,Python中文社区专栏作者. blog:https://my.oschina.net/jhao104/blog github:https://github.com/jhao10 ...

  4. python常用加密算法_python 三个常用加密 base64,md5,sha1

    做比赛的经常会用到这三个算法 今天集合在一起 [python] import hashlib import base64 s = 'justforfun' print s for i in range ...

  5. python论文摘要_python新玩法:用python进行文章摘要拿取,只需要一行代码

    前言 今天为大家介绍一个python算法TextRank,实现从长篇中快速抽取精准摘要. TextRank是一种基于图形的文本处理排序算法.PageRank通常用作其底层的图排序模型.当然,其他的图排 ...

  6. python des解密_python实现DES加密解密方法实例详解

    本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...

  7. python邮件图片加密_Python爬虫如何应对Cloudflare邮箱加密

    最近写一个小爬虫,需要拿到邮箱信息,发现拿不到,也不是ajax接口.最后查资料发现是被Cloudflare加密起来了,有加密肯定有解密. 柠之漠然: 这个解密方式就是从那段 js 代码转换过来的 其中 ...

  8. python post请求rsa加密_Python的加密方式:RSA加密

    Python的加密方式:RSA加密 RSA加密是一种非对称加密,通常使用公钥加密,私钥解密,私钥签名,公钥验签. 在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)S ...

  9. python加密程序_Python 简单的可逆加密程序

    简单加密 1.[代码][Python]代码 #coding=utf-8 ''''' Description: 可逆的加密与解密 Environment: python2.5.x Author:ideh ...

  10. python写情书_Python程序员用文字加密的方式,给女程序员写情书,一周后牵手回家_TONOW...

    谁说程序员不浪漫,尤其是Python程序员,对文字加密后,写情书只有特定的人才能看懂. image 在某公司,有这样一位Python程序员,我们叫他小福,由于性格比较内向,一直没有女朋友,直到今年6月 ...

最新文章

  1. for循环的一些困惑解决(字符串)
  2. Hive的HQL(2)
  3. OpenCV C++ 03 - Save an Image to a File
  4. 获取XML的文件信息
  5. 【CodeForces - 471C】MUH and House of Cards (思维,找规律)
  6. Mysql和Oracle 数据库操作工具类
  7. Java多线程(八)——多线程辅助功能类
  8. Leetcode 242.有效的字母异位词 By Python
  9. flume 整合kafka
  10. 自媒体学习教程 新手怎么开始学习自媒体
  11. ardupilot固件二次开发_【国外开源】无人机 ArduPilot Mega 控制板原理图/PCB/固件源码...
  12. pandas之美国2012年总统候选人政治献金数据分析
  13. 工业控制系统基础知识入门(一)
  14. 3D游戏中镜头的运用
  15. 关于XDR的这些问题你都了解吗?
  16. 糗事百科成人版段子爬虫实战
  17. 游戏中的摇杆(手写摇杆)
  18. 数据集收集-包含《COVID-19》,《英国在线零售业务》,《电商行业用户行为分析数据集》,《电商婴儿用户》,《亚马逊手机》等17个数据集,用于数据分析挖掘,kaggle比赛练习
  19. 分形几何python代码_Python, Cython绘制美妙绝伦的Mandelbrot集, 曼德博集分形图案
  20. 71、Es(es和mysql的概念对比)

热门文章

  1. STM32中assert_param的使用
  2. JSON转换和序列化的区别
  3. 0514JS函数练习
  4. April Fools Day Contest 2016 F. Ace It!
  5. java 调用 r, Can't find dependent libraries
  6. CMake实践(2)
  7. [转载]Oracle Minus关键字
  8. Linux 命令收集
  9. 编程人员应该忙里偷闲
  10. 怎么样把设备管理器弄到计算机处,电脑设备管理器要连接上蓝牙的方法