当前位置: 首页 > news >正文

建站模板哪里好广告logo设计软件

建站模板哪里好,广告logo设计软件,做淘宝客网站需要多大带宽,软件开发工程师是干嘛的相信很多使用 python 的小伙伴在工作中都遇到过,对数据进行相关编码或加密的需求,今天这篇文章主要给大家介绍对于一些常用的数据编码和数据加密的方式,如何使用 python 去实现。话不多说,接下来直接进入主题: 前言 1…

 


相信很多使用 python 的小伙伴在工作中都遇到过,对数据进行相关编码或加密的需求,今天这篇文章主要给大家介绍对于一些常用的数据编码和数据加密的方式,如何使用 python 去实现。话不多说,接下来直接进入主题:

1、base64 编码

什么是 Base64 编码?
Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法

在 python 中对数据进行 base64 编码可以使用 base64 这个官方库

案例:

import base64
data= "musen"
# base编码data = data.encode()res = base64.b64encode(data)print(res)
# base64解码res2 = base64.b64decode(res)print(res2)

2、常见的哈希算法:

hash算法有很多:比如MD4、MD5、SHA-1 , SHA-224, SHA-256, SHA-384 和 SHA-5等等。其中MD5是比较常见的一种,也称之为MD5加密。

什么是 MD5 加密?

MD5(Message Digest Algorithm 5),是一种哈希算法,是不可逆的,即通过 md5 加密之后没办法得到原文,没有解密算法

python 中有一个叫做 hashlib 的官方库,对于一些常见的哈希算法这个库都实现了,咱们在工作中如果要使用 MD5 加密,直接使用 hashlib 这个库就可以实现。

案例

​​​​​​​

from hashlib import md5
def encrypt_md5(data):    """md5加密"""    # 创建md5对象    new_md5 = md5()    new_md5.update(data.encode('utf-8'))    res = new_md5.hexdigest()    # 加密    return res

3、DES 加密

什么是对称加密?

对称加密指的的加密和解密用同一个秘钥进行加解密的加密方式。

图片

什么是 EDS 加密?

des 对称加密,是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时 , 必须共同持相同的密码。

在 python 中有一个叫做 pyDes 的第三方库可以用来实现 DES 加密,使用之前需要先通过 pip 命令安装:pip install pyDes

案例:

​​​​​​​

from pyDes import des, CBC, PAD_PKCS5import binascii
def des_encrypt(s, KEY):    secret_key = KEY    iv = secret_key    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)    en = k.encrypt(s, padmode=PAD_PKCS5)    return binascii.b2a_hex(en).decode()
def des_descrypt(s, KEY):    secret_key = KEY    iv = secret_key    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)    de = k.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5)    return de.decode()
if __name__ == '__main__':    # 秘钥    KEY = 'mHAxsLtt'    # 加密    res = des_encrypt("python666", KEY)    print(res)  # 解密    res2 = des_descrypt(res, KEY)    print(res2)

4、3DES 加密

什么是 3DES 加密?

3DES(或称为 Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次 DES 加密算法

python 中实现 3DES 加密可以使用,pyDes 这个模块去实现

案例:

​​​​​​​

import base64import hashlib
import pyDesdef encrypt_3des(data):    key = "U8NjHq1ZP10="    hash_md5 = hashlib.md5()    hash_md5.update(key.encode(encoding='UTF-8'))    key = hash_md5.hexdigest()    iv = key[0:8]    key2 = key[0:24]    k = pyDes.triple_des(key2, pyDes.CBC, IV=iv, pad=None, padmode=pyDes.PAD_PKCS5)    d = k.encrypt(data.encode())    d = base64.b64encode(d)    return d.decode()def descrypt_3des(data):    key = "U8NjHq1ZP10="    hash_md5 = hashlib.md5()    hash_md5.update(key.encode(encoding='UTF-8'))    key = hash_md5.hexdigest()    iv = key[0:8]    key2 = key[0:24]    k = pyDes.triple_des(key2, pyDes.CBC, IV=iv, pad=None, padmode=pyDes.PAD_PKCS5)    data = base64.b64decode(data)    d = k.decrypt(data)    return d.decode()if __name__ == '__main__':    res = encrypt_3des('lemonban')    print(res)    res2 = descrypt_3des(res)    print(res2)

5、AES 加密

什么是 AES 加密?

AES 也是一种对称加密。它是用来替代之前的 DES 的,安全性更高。目前已经被多方分析且广为全世界所使用,并在 2002 年 5 月 26 日成为有效的标准 ,

关于 python 中实现 Aes 加密的库很多,大家可以去 pypi 上自行下载安装,下面案例用的是 Crypto 这个库

案例

import base64from Crypto.Cipher import AESclass AesEncrypt:    # 密钥    key = '0CoJUm6Qyw8W8jud'    # 偏移量    vi = '0102030405060708'
    def encrypt(self, data):        """加密"""        data = data.encode('utf8')        data = (lambda s: s + (16 - len(s) % 16) * chr(16 - len(s) % 16).encode('utf-8'))(data)        cipher = AES.new(self.key.encode('utf8'), AES.MODE_CBC, self.vi.encode('utf8'))        encryptedbytes = cipher.encrypt(data)        encodestrs = base64.b64encode(encryptedbytes)        enctext = encodestrs.decode('utf8')        return enctext
    def decrypt(self, data):        """解密"""        data = data.encode('utf8')        encodebytes = base64.decodebytes(data)        cipher = AES.new(self.key.encode('utf8'), AES.MODE_CBC, self.vi.encode('utf8'))        text_decrypted = cipher.decrypt(encodebytes)        unpad = lambda s: s[0:-s[-1]]        text_decrypted = unpad(text_decrypted)        text_decrypted = text_decrypted.decode('utf8')        return text_decryptedif __name__ == '__main__':    # 注意点:加密数据中有中文的时候,会有问题    data = "musen123"    aes = AesEncrypt()    # 加密    enctext = aes.encrypt(data)    print(enctext)    # # 解密    text_decrypted = aes.decrypt(enctext)    print(text_decrypted)

 

http://www.yayakq.cn/news/822965/

相关文章:

  • 在线免费建网站网站友链查询源码
  • 制作宣传网站有哪些广州开发网站技术
  • wap网站制作需要多少钱沧州做网站的公司
  • 建立网站的教学书籍wordpress网站响应慢
  • 新闻门户网站免费建设个人网站空间价格
  • 青岛网站设计皆挺青岛常州营销型网站建设
  • 免费网站建设服务营销型企业网站建设价格
  • eclipse做的网站windows 版 wordpress
  • 天津和平做网站贵吗女和女做网站
  • 用自己电脑怎么做网站哈尔滨做网站费用
  • 做网站国外网站怎么做好推广
  • 做电影网站挣钱团总支网站建设宣传
  • 西宁市城乡规划建设局网站兰州网站建设公司排名
  • 关于公司网站的建设的问卷深圳最好的网站制作公司
  • 誉铭摄影网站wordpress在线不能播放视频播放器
  • 做企业网站的哪家好推广网站加盟
  • HTML5怎么做自适应网站潍坊网站模板在哪
  • 大庆免费网站建设公司php建站系统哪个好
  • 汕头h5模板建站南通建设局网站
  • 如何让客户做网站网站不想续费
  • 泰安网站建设课程报告网络运维面试
  • 哪个网站论文多快速制作简单的网站
  • 网站色彩心理wordpress文章别名
  • 个人网站不能做淘宝客用asp.net做后台网站
  • 克隆的网站怎么做数据库申请免费网站需要什么条件
  • 沈阳市建设公司网站建筑设计图纸平面图
  • 站长工具seo综合查询下载国外设计网站怎么登陆
  • 如何自己建一个微网站舟山建设银行网站
  • 做网站怎么写代码wordpress素锦下载
  • 泰州市建设局网站做网站怎么购买主机