首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    Python中通过PyPDF2实现PDF加密

    场景 PyPDF 2是一个纯python PDF库,能够分割、合并、裁剪和转换PDF文件的页面。它还可以向PDF文件中添加自定义数据、查看选项和密码。 PyPDF 2 1.26.0文档: https://pythonhosted.org/PyPDF2/ 实现 使用pip 安装pypddf2 新建文件夹jiamiPDF 新建加密前的PDF 新建jiamiPDF.py output_pdf='badadoencrypted.pdf', password='badao') 其中input_pdf=’badao.pdf’是要加密的 output_pdf=’badadoencrypted.pdf’是加密后要输出的pdf。 password=’badao’是设置的密码。 运行效果: 此时会在目录下生成加密后的PDF文件,打开后 输错密码后: 资源以及文件下载 https://download.csdn.net/download/badao_liumang_qizhi

    96420编辑于 2022-09-10
  • 来自专栏CY

    Python实现PBKDF2_SHA256加密密码

    加密保存格式:pbkdf2_sha256迭代次数盐哈希值 admin可能的结果:pbkdf2_sha25610000yzsusUJwrGfonw+ZzVxlnA==vgf/OgLf5C4wtQLtfNY9d68H hashlib import base64 def password_encrypt(password, salt=None, iterations=10000): """ 密码加密 :PBKDF2_SHA256加密 加密格式:pbkdf2_sha256$迭代次数$盐$哈希值 admin可能的结果:pbkdf2_sha256$10000$yzsusUJwrGfonw+ # 将哈希值编码为 Base64 字符串 hash_value_b64 = base64.b64encode(hash_object).decode('utf-8') # 构造加密字符串 def password_verify(self, password, encrypted_string): """ 密码验证:PBKDF2_SHA256加密 """

    61310编辑于 2024-12-06
  • 来自专栏python3

    python 加密解密

    MD5   import hashlib   c = raw_input('输入字符:') #python3为input b = hashlib.md5()   b.update(c.encode (encoding='utf-8'))   print ('MD5加密前:'+ c)   print ('MD5加密后:'+b.hexdigest()) Base64    import base64 base64加密 print base64.b64encode("aaa") #base64加密   print base64.b64decode("YWFh") Base32   import base64   print base32.b32encode('aa') #base32加密   print base32.b32decode('MFQWC===') #base64解密 SHA1 ('SHA1加密前:'+a) print ('SHA1加密后:'+b.hexdigest()) 特注:         SHA1与MD5都是摘要算法,且为不可逆算法;         应用角度来讲,适用性比安全性重要

    3.9K10发布于 2020-01-02
  • 来自专栏python3

    python aes 加密

    python 进行aes 加密报错, windows pip install pycryptodome 安装Crypto linux pip install pycrypto 1 import base64 2 3 from Crypto.Cipher import AES 4 5 6 def add_to_16(value): 7 while len(value) % 16 ! = 0: 8 value += '\0' 9 return str.encode(value) 10 11 # 加密方法 12 def encrypt_oracle(self

    1.9K10发布于 2020-01-16
  • 来自专栏python3

    Python的RSA加密和PBE加密

    最近在写接口的时候,遇到了需要使用RSA加密和PBE加密的情况,对方公司提供的DEMO都是JAVA的,我需要用python来实现。 在网上搜了一下,python的RSA加密这块写的还是比较多的,但是PBE较少。所以我就讲讲我在RSA加密上面遇到的坑,大家权当一乐。PBE加密里面的盐、密钥。 RSA 什么是RSA加密呢? 1、使用对方公司的公钥对所有的参数进行加密加密之后进行base64编码。 2、使用我司私钥对加密后的数据进行签名,签名之后进行base64编码。 坑2:分段加密之后要进行相应的签名,是需要进行MD5转码的。 talk is more, show your code。 我们注意到,他的加密方法是:SIGNATURE_ALGORITHM = "MD5withRSA",所以我们的python签名也是需要进行MD5的。

    2.1K20发布于 2020-01-06
  • 来自专栏DrugScience

    Python每日一谈|No.30.实例.10-Life.3-Python-加密-2

    接上 就是这一篇 ZeroDesigner,公众号:FindKeyPython每日一谈|No.25.实例.6-Life.2-Python-生成密码 我思考了一下,这样保密性虽然很强 但是他不道德,你反正肯定记不住 2.足够强,防止破解 3.在不同的平台上,有不同的形式,防止厂家泄漏隐私 先考古 看下常用的加密模式 https://www.zhihu.com/search? type=content&q=加密方式 1.凯撒密码 你有一个字典,每次你想说的话的字母向后偏移3位,就变为了密文 凯撒加密的缺陷是,英文字母出现是有规律的,假如我们将提取文本中出现次数最多的字符, ,外:2声,卖,2声 那么MTWM就可以变为3,222,为了保持其容易记忆的特性,我偏向于对80094756,此数字进行修改,而不是xiaoming.li,那么我们简单粗暴的来进行一下更改:80094756 你可以随意的更换位置 xiaoming.li@_@anyword#MTWM^_^800947563222 800947563222@_@xiaoming.li^_^anyword#MTWM Code 现在使用python

    69620发布于 2021-03-29
  • 来自专栏python3

    python实现rsa加密

    encrypted:  b"P\xaa\xfb\x13\x0c\xbd\x92\x9cn\x98\xab\xe0C\xa8B\x08\xbbQ\x83w\x93*\xeai\x8d\xec\xeb\xb2+ \x8d\x01\xa5\xdeO\xc2\x87\x81\x19\xf9\x96\x14h\xf6\xa2\x14.Q>K\x92\xcdd\xa4\xb0\xee! +\xea\xb7)\x8f\xa5iN\xedY%#\xcdE\xae\xc1#\x9d\xb2\xd9\xe4C)|\xc2[$\xb1\x04\xc1|a\x99B\xbf\x0c\x95\x85 \x93\xc0\xae\x9fm\xae\x00\xeb\x97@\xbb\x022\x12L\x99\xd8\nF\x8eP\x91\x8a\xf5\xc5\xa2t;9K\\o\xfc. . \xe7A^_F\xe0\xeek\x9cp\xc2\xe0\xfbB\xe4\x06\xbaU\xf5\x04\xb7\xd2;`\x94\xb67\xe5\xaa\x08G\xed\x1a\x83\

    1.7K10发布于 2020-01-08
  • 来自专栏Python 知识大全

    Python加密服务(二)

    hmac — 加密消息签名和验证 目的:hmac 模块实现用于消息验证的密钥散列,如 RFC 2104 中所述。 HMAC 算法可用于验证在应用程序之间传递或存储在潜在易受攻击位置的信息的完整性。 基本思想是生成与共享密钥组合的实际数据的加密散列。然后,可以使用所得到的散列来检查所发送或存储的消息以确定信任级别,而不发送秘密密钥。 签名消息 new() 函数创建一个用于计算消息签名的新对象。 $ python3 hmac_simple.py 4bcb287e284f8c21e87e14ba2dc40b16 可选的摘要类型 尽管默认的 hmac 算法是 MD5,但那不是最安全的方法。 $ python3 hmac_base64.py b'olW2DoXHGJEKGU0aE9fOwSVE/o4=\n' 消息签名的应用 HMAC 算法应该用于任何公共网络服务,并且任何数据都应该存储在安全性很重要的地方 $ python3 hmac_pickle.py WRITING: b'f49cd2bf7922911129e8df37f76f95485a0b52ca 69\n' WRITING: b'b01b209e28d7e053408ebe23b90fe5c33bc6a0ec

    1.5K10发布于 2020-02-13
  • 来自专栏北京马哥教育

    Python加密文件

    生活中,有时候我们需要对一些重要的文件进行加密Python 提供了诸如 hashlib,base64 等便于使用的加密库。 基础知识 在 Python 中异或操作符为:^,也可以记作 XOR。按位异或的意思是:相同值异或为 0,不同值异或为 1。 原理 通过了解异或操作的性质,加密原理就非常清晰了。 加密操作: 首先将文件转换成二进制数,再生成与该二进制数等长的随机密钥,将二进制数与密钥进行异或操作,得到加密后的二进制数。 生成随机密钥: secrets 库是 Python 3.6 引入的伪随机数模块,适合生成随机密钥。token_bytes 函数接受一个 int 参数,用于指定随机字节串的长度。 )         f3.write(decrypted) 执行完加密、解密文件操作,得到的解密文件与原文件相同,示意图如下: 32a350b6f9ed4d0e615ecb3fe2a4960.png

    2.4K10发布于 2019-07-10
  • 来自专栏python前行者

    python实现DES加密

    DES/CBC/pkcs5padding加解密 DES加密模式 加密模式:DES/CBC/pkcs5padding 加解密在线工具:http://tool.chacuo.net/cryptdes 需知道加密的密码 pip install pyDes==2.0.1 python代码实现DES加解密 from pyDes import des, CBC, PAD_PKCS5 import binascii """ """ DES 加密 :param s: 原始字符串 :param key: 加密密钥8位 :return: 加密后字符串,16进制 """ secret_key CBC, iv, pad=None, padmode=PAD_PKCS5) en = k.encrypt(s, padmode=PAD_PKCS5) return binascii.b2a_hex # 偏移量8位 k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) de = k.decrypt(binascii.a2b_hex

    83310编辑于 2024-03-17
  • 来自专栏Python 知识大全

    Python加密服务(一)

    hashlib — 加密哈希算法 目标:加密哈希与信息摘要 hashlib 哈希库模块提供了许多哈希算法的 API 支持。哈希算法在中文又被称为散列函数 / 算法,此译文中将统称哈希。 $ python3 hashlib_md5.py 3f2fd2c9e25d60fb0fa5d593b802b7a8 SHA1 例子 一个 SHA1 摘要是以相似的方式计算出来的。 hashlib_new.py sha1 ea360b288b3dd178fe2625f55b2959bf1dba6eef $ python3 hashlib_new.py sha256 3c887cc71c67949df29568119cc646f46b9cd2c2b39d456065646bc2fc09ffd8 035f444952dfd9f6084eeee2457433f3ade614712f42f80960b2fca43ff $ python3 hashlib_new.py md5 3f2fd2c9e25d60fb0fa5d593b802b7a8 $ python3 hashlib_update.py All at once : 3f2fd2c9e25d60fb0fa5d593b802b7a8 Line by line: 3f2fd2c9e25d60fb0fa5d593b802b7a8

    1.4K10发布于 2020-02-13
  • 来自专栏龙进的专栏

    python进行AES加密

    AES是一种对称加密算法。它涉及四个计算步骤,分别是替换字节、行移位、列混排和轮密钥加密。整个加密过程中会不断迭代重复上述四个步骤。解密过程就是上述加密步骤的逆运算。 这里采用pycryptodome库来进行AES加密 from Crypto.Cipher import AES from Crypto import Random #补齐16字节,必须是16的倍数 plaintext = '红红火火恍恍惚惚' print('原文:', plaintext) msg = cipher.encrypt(fill_text(plaintext.encode())) print('加密后的字节码 :', msg) text = cipher.decrypt(msg) print('解密后的文本:', text.decode()) 执行结果 原文: 红红火火恍恍惚惚 加密后的字节码: b'\xe0

    2.4K20编辑于 2022-10-31
  • 来自专栏python3

    Python 加密解密算法

    呃,今天来看看加密和解密,本文讨论base64和hashlib库:       来看看HASHLIB,他是一种单向摘要出定长字符串的方法: 撸代码: In [18]: import time,hashlib In [21]: md = hashlib.md5('test%s' %t) In [22]: md.hexdigest() Out[22]: '8ed81a627d94055cd34d3e7e1d2fed72 hashlib.md5('test123%s' %t) In [28]: md.hexdigest() Out[28]: '554aac9fa6ba5a5821f6a80e840b6b36'  相同字符串md5加密后的 16进制是一致的 接下来看base64 In [29]: import base64 In [30]: base64.b64encode('123456') Out[30]: 'MTIzNDU2' In [31]: base64.b64decode('MTIzNDU2') Out[31]: '123456' 可以反向计算的 两者结合使用,嘻嘻嘻

    3.1K10发布于 2020-01-07
  • 来自专栏python前行者

    python--AES加密

    文章目录 ECB模式加密: ECB模式解密: CBC模式加密: CBC模式解密: CFB模式加密: CFB模式解密: AES加密,用的是第三方模块 pycryptodome 安装:pip install +sBCOJUXOM7A==\n' en_text = en_text.decode('utf8') #转换成python中的字符串类型 #Cw8uH2ODLS+sBCOJUXOM7A== print #b'\xf7t\xa0\x18 \x84-\xcco-\x91\xf5\xdb\x89\xe3\x88' x=b2a_hex(cipher_text) # 因为AES加密后的字符串不一定是ascii 字符集的,输出保存可能存在问题,所以这里转为16进制字符串 #b'f774a01820842dcc6f2d91f5db89e388' en_text = x.decode('utf-8') #转换成python #b'\x0c\x9e\xcaW\x97\x06\n\x9f\xde\xc0\xdd\x91\x1eh\x11\x0c' x=b2a_hex(encrypt_aes) # 因为AES加密后的字符串不一定是

    1.4K20编辑于 2022-08-23
  • 来自专栏python3

    Python进行RSA加密

    下载ez_setup.py(http://peak.telecommunity.com/dist/ez_setup.py) 2. 用python解释执行它 (如使用IDLE打开该py文件,按F5解释执行) 3. 安装完成后,会在scripts文件夹下生成几个exe可执行文件。 (如: D:\Python27\Scripts目录下) 4.可以把之前下载的文件rsa-3.1.1-py2.7.egg拷贝到D:\Python27\Scripts目录下, 然后在cmd中切换到D:\Python27 用Python进行RSA加密实例 实例源码如下: import os import sys import math def GetDataFromFile(filename):     f

    2.3K20发布于 2020-01-06
  • 来自专栏龙进的专栏

    python进行RSA加密

    RSA加密是一种非对称加密算法。被公钥加密的数据只能用私钥解密,被私钥加密的数据只能被公钥解密。公钥和私钥只是对两种密钥的使用场景以及是否对外公开来区分的,本质上区别不大。 这里我们采用pycryptodome库来进行加密 from Crypto.Cipher import PKCS1_OAEP from Crypto.PublicKey import RSA from Crypto plaintext = '红红火火恍恍惚惚' print('原文:', plaintext) message = encrypt(public_pem, plaintext.encode()) print('加密后的密文 n0rxNsNvincGSCjTqX278fpMTE2PXG2GsJPqLEEZxzdV09i0CQQDUTC6Ob+n1xer/\neAJchnjAx0Y3V9QamnyUueWKgHW3RwRPxk0IpuO5n -END PUBLIC KEY-----' 原文: 红红火火恍恍惚惚 加密后的密文: b'\xa4\xaf,W\x0c\xd7\x08\x88>%4^\x0b\\\x07\x19\xbf5E\xff\xc4

    1.4K30编辑于 2022-10-31
  • 来自专栏Zkeq

    Python Python中的加密工具

    Python中的加密工具 hashlib模块介绍 难破解 不可逆 hashlib模块中的常用方法 函数名 参数 介绍 举例 返回值 md5 byte Md5算法加密 hashlib.md5(b'hello ') Hash对象 sha1 byte Sha1算法加密 hashlib.sha1(b'hello') Hash对象 sha256 byte Sha256算法加密 hashlib.sha256(b'hello ') Hash对象 sha512 byte Sha512算法加密 hashlib.sha512(b'hello') Hash对象 代码 # coding:utf-8 import hashlib import encodebytes(data).decode('utf-8') # print(_data) _data = _data.replace('a', replace_one).replace('2' = replace_two.encode('utf-8') data = data.replace(replace_one_b, b'a').replace(replace_two_b, b'2'

    90310编辑于 2022-05-18
  • 来自专栏葫芦

    python python3 RSA加密

    /usr/bin/env python # coding=utf-8 # author: wz # mail: 277215243@qq.com # datetime:2019/10/15 12:42 RSA from Crypto.Cipher import PKCS1_v1_5 import base64 pubkey = """-----BEGIN RSA PUBLIC KEY-----\n 加密码 \n-----END RSA PUBLIC KEY-----\n""" messages = [ 'userid=test1', 'userid=test2', 'userid

    1.4K20发布于 2019-10-16
  • 来自专栏搜狗测试

    常见加密算法解析-2

    今天主要总结下常用的对称性加密算法:DES和AES,非对称性加密算法:RSA DES加密 DES含义: DES是对称性加密里常见的一种,全程是Data Encryption Standard ,即数据加密标准,是一种使用秘钥加密的块算法。 所谓对称性加密加密和解密秘钥相同。对称性加密一般会按照固定长度,把待加密字符串分成块。不足一整块或者刚好最后有特殊填充字符。 AES加密 AES含义: AES,高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。 RAS算法原理: 在了解RAS算法原理之前,先了解一下非对称加密的过程: 非对称加密是通过两个密钥(公钥-私钥)来实现对数据的加密和解密的。公钥用于加密,私钥用于解密。

    1.9K30发布于 2020-05-27
  • 来自专栏算法之名

    Springboot 2-OAuth 2修改登录加密方式

    Springboot2的Security框架用的是5.0的,较之4.0的密码加密方式有了很大的改变.spring security 5中主推的加密方式为BCrypt,由于这种加密方式效率很低,属于慢加密 ,但是加密强度很高,现有的机器性能难以暴力破解,但是随着科技的进步,机器性能增强,破解这种加密方式也会成为可能,但是加密方式也会不断更新. 废话说到这里,由于性能要求,对该加密登录的压测,只能达到50-80qps,这无疑对高并发登录是不能接受的,所以我们需要改掉这种加密方式,我们选择了MD5的加密.修改之前的安全配置如下. 这里面的client_secret的值其实是system字符串的BCrypt加密结果,我们需要改成如下所示 ? 这个值同样也是system,不过是由MD5加密的结果,主要需要加前缀{MD5}.这样在app_user表中,信息如下 ?

    1.6K20发布于 2019-08-20
领券