做淘宝店铺有哪些好的网站建设公众号官方网站

news/2025/9/23 9:16:36/文章来源:
做淘宝店铺有哪些好的网站,建设公众号官方网站,快速建设网站免费视频教程,晋江哪里可以学建设网站PyCryptodome是python一个强大的加密算法库#xff0c;可以实现常见的单向加密、对称加密、非对称加密、非对称加密算法签名和流加密算法。 直接pip安装即可#xff1a;pip install pycryptodome 官网地址#xff1a;https://pypi.org/project/pycryptodome/ 一、base64编码…PyCryptodome是python一个强大的加密算法库可以实现常见的单向加密、对称加密、非对称加密、非对称加密算法签名和流加密算法。 直接pip安装即可pip install pycryptodome 官网地址https://pypi.org/project/pycryptodome/ 一、base64编码简单介绍 原理将要编码的内容按3字节为一组进行分组最后一组不够3位的则补0显然最多补两个0 每组中每字节最高2位改成0不使用原先各位的内容保持原有顺序往后移最后在上一步中补了几个0就加几个等号以供解码时按等号个数删除0经此操作原先3节字就变成了只使用低6位的4字节 转换前 10101101,10111010,01110110转换后 00101011, 00011011 ,00101001 ,00110110 用途一是SMTP中要以BASE64形式传输二进制文件二是常用于将二进制数据转成可打印的ASCII码字符进行存储下文各加密算法的密钥一般使用十六进制字符串形式存储但也有以base64形式存储。其他本质上讲Base64只能算是一种编码不能算是一种加密算法PyCryptodome库也不支持。但从”Base64让人一下看不懂原本内容是什么“的角度讲你也不能说他完全不算加密平时也经常用我们就顺道讲一讲如何实现。 # 对bytes类型进行再次编码(先将字符串转换为byttes) def base_info():str 我喜欢 computer#e base64.b64encode(b123456) # 结果bMTIzNDU2e base64.b64encode(str.encode()) # 结果b5oiR5Zac5qyiIGNvbXB1dGVyprint(编码过程,e)d base64.b64decode(b5oiR5Zac5qyiIGNvbXB1dGVy)print(解码过程,d.decode()) 二、单向加密算法 别称单向加密算法又称哈希函数、散列函数、杂凑函数、摘要算法英文名One-way encryption algorithm。原理单向加密如其名只能加密不能解密彩虹表攻击不是正经的解密不能解密的原因是本质上并不是用IVInitial Vector去加密M输出M的密文而是用M去加密IV输出IV的密文。用途消息认证摘要、内容或文档的数字指纹、口令存储。其他单向加密又可以分为hash和hmac两大类hmac和hash的算法是一样的其实可以认为hmac就是hash加盐的形式不过这盐值不是hash中常用的拼接在最前边或拼接在最后边具体怎么拼接的我不太确定。 一般来说标准库就挺好用时我们一般就直接用标准库python的标准库就能容易地实现单向加密算法所以单向加密我们使用标准库实现。 python中hash类算法使用hashlib库实现hmac类算法使用hmac库实现。 import hashlib import timeprint(hashlib.algorithms_available) # 支持的单向加密算法encode utf-8 # 编码 appkey md5test. # 待加密信息time_span str(int(time.time())) o_token appkey # 可以对o_token进行处理appkeytime_span hl hashlib.md5() # 创建md5对象也可以hl hashlib.new(md5) hl.update(o_token.encode(encodingencode)) # 转换为bytes token hl.hexdigest().upper() # hexdigest() 加密过程以十六进制字符串形式输出 print(第一种MD5加密后为 token)# 另一种写法b前缀代表的就是bytes str_md5 hashlib.md5(bmd5test.).hexdigest().upper() print(第二种MD5加密后为 str_md5) 三、对称加密算法 别名对称加密算法又称密钥加密算法、单密钥算法、共享密钥算法英文名Symmetric Encryption Algorithms。 原理对称加密算法最关键的就是SP变换S变换通过代替操作实现混乱即消除统计信息P变换通过换位操作实现扩散即雪崩效应加解密是使用同一个密钥的逆操作过程。 用途对称加密可以还原内容且代替和换位操作运算量不大适用于大量内容的加解密。对称加密算法的缺点是加解密双方密钥分发困难。 其他对称加密算法有ECB、CBC、CFB、OFB、CTR等等多种模式各种模式的加密是有些区别的比如ECB不需要IV、CBC等则需要IV、EAX则需要nonce和tag等等所以实现不同模式时写法会有差别需要具体研究不能完全照搬下边的例子。 def aes_encrypt_cbc(org_str, key,iv):print(---------------密码分组链接模式CBC加密开始---------------)aes AES.new(get_bytes(key), AES.MODE_CBC,get_bytes(iv))encrypt_aes aes.encrypt(get_bytes(org_str))encrypted_text str(base64.b64encode(encrypt_aes), encodingutf-8)print(加密后的数据, encrypted_text)return (encrypted_text)def aes_decrypt_cbc(secret_str, key,iv):print(---------------密码分组链接模式CBC解密开始---------------)aes AES.new(get_bytes(key), AES.MODE_CBC,get_bytes(iv))base64_decrypted base64.b64decode(secret_str.encode(encodingutf-8))decrypted_text str(aes.decrypt(base64_decrypted), encodingutf-8).replace(\0, )print(解密后的数据, decrypted_text)# bytes不是count的倍数那就补足为count的倍数 def add_to_count(value):while len(value) % count ! 0:value b\x00return value # 返回bytes# str转换为bytes超过count位时处理 def get_bytes(org_str):org_bytes str.encode(org_str)n int(len(org_bytes) / count)i 0new_bytes bwhile n 1:i i 1new_byte org_bytes[(i-1)*count:count*i-1]new_bytes new_byten n - 1if len(org_bytes) % count 0:all_bytes org_byteselif len(org_bytes) % count ! 0 and n1:all_bytes new_bytes add_to_count (org_bytes[i*count:])else:all_bytes add_to_count (org_bytes)return all_bytes四、非对称加密算法 别称非对称加密算法又称公钥加密算法英文名Asymmetric Cryptographic Algorithm。 原理非对称加密依赖与明文经过与公钥进行数学运算可得出密文而密文经过与密钥进行数学运算又可得到明文。 用途非对称加密算法的优点是密钥分发简单但缺点也是很明显的其加解密过程依赖于数学运算运算量大所以加解密速度慢另外同样的密钥强度其安全性弱于对称加密算法其只适用于少量内容的加解密最典型的就是https中用于完成对称密钥的交换。 def generate_key(self):key RSA.generate(1024) # 256倍数并且 1024# print(key)# 提取私钥并存入文件private_key key.exportKey()file_out open(private_key.pem, wb)file_out.write(private_key)# 提取公钥存入文件public_key key.publickey().exportKey()file_out open(public_key.pem, wb)file_out.write(public_key)# 加密/过程(无法加密太长的内容可以分段加密)def RSA_encrypt(self,secret_str):self.generate_key()public_key RSA.importKey(open(public_key.pem).read()) # 读取文件e_cipher PKCS1_OAEP.new(public_key) # 实例化加密套件encrypted_data e_cipher.encrypt(secret_str.encode()) # 加密print(encrypted_data)# 解密private_key RSA.importKey(open(private_key.pem, rb).read())d_cipher PKCS1_OAEP.new(private_key)org_data d_cipher.decrypt(encrypted_data)print(org_data.decode()) 五、非对称加密算法签名实现以RSA为例 我一直以为私钥加密公钥解密和公钥加密私钥解密没什么两样但首先一是和一个朋友说用私钥加密发送回来时她疑或说私钥可以加密吗然后回公司又和领导说私钥加密公钥解密的时候他直接说私钥不能加密只能做签名。 首先说私钥加密公钥解密在数学原理上是可行的而且所谓的数字签名其本质就是我用你的公钥可以解开这加密的内容说明这些内容就是你的即数字签名和签名认证本质就是私钥加密公钥解密。 但另一方面因为公钥是公开的所以私钥加密并不能起加密通信的作用所以一般没有直接的私钥加密公钥解密的操作----但我不太明白为什么PyCryptodome这些库在程序试图使用私钥加密时直接报错拒绝执行TypeError: This is not a private key虽然没什么用私钥加密也没有什么危害吧 六、流加密算法实现以RC4为例 别称流加密算法又称序列加密算法英文名Stream cipher。 原理流加密算法加密和解密也使用同一个密钥所以从咬文嚼字来说他也属于对称加密算法。流加密算法与前边单向加密算法、对称加密算法、非对称加密算法的区别是前三者都是分组加密算法即一个分组使用同一个密钥而流加密算法每一位都使用不同的密钥。 用途流加密主要基于异或xor操作运算相对简单但安全性较低没有很多的使用场景最典型的是WEP上的使用但也正由于其安全性问题导致WEP的淘汰。 参考https://www.cnblogs.com/lsdb/p/10912518.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最佳三维文件格式,以及怎么在线浏览编辑FBX/OBJ/GLB/GLTF

什么是专有 3D 文件格式专有 3D 文件类型是特定于特定软件或公司的格式。专有文件格式的示例包括.max (3ds Max)、.blend (Blender)、.c4d (Cinema 4D)。 这些 3D 文件格式通常因其专有软件的功能丰富的选项而受…

秸秆可以发酵吗网站建设吗莱芜杂谈话题

个人主页 水月梦镜花 个人专栏 C语言 ,数据结构 文章目录 一、顺序表二、实现思路1.存储结构2.初始化顺序表(SeqListInit)3.销毁顺序表(SeqListDestroty)4.打印顺序表(SeqListPrint)5.顺序表尾插(SeqListPushBack)and检查容量(SeqListCheckCapacity)6.顺序表头插(Se…

欧美平面设计网站网站后台账户如何做会计分录

前言 由于需要使用不同的qt环境(PySide,PyQt)所以写了这个脚本,使用找到的随便一个rcc命令去转换qrc文件,然后将导入模块换成qtpy这个通用库(支持pyside2-6,pyqt5-6),老版本的是Qt.py(支持pysi…

网站建设属开票核定税种网络设计实践课程报告

在游戏开发领域,虚拟世界游戏定制开发是一项引人注目的任务,旨在满足客户独特的需求和愿景,创造一个完全个性化的虚拟世界游戏。这种类型的游戏开发需要专业的技能、深刻的游戏开发知识和密切的与客户合作,以确保游戏满足客户的期…

站长之家音效南京较好的网站制作公司

下面的讨论是我对《对编程实现拟人智能可行性的论证》这篇文章的“赋值与对象的标志”这一节的展开讨论。 标志能够使我们更好的思维(比如用轮廓标记物体对象,用兴奋强度标记回忆情况等等)。有思维标志、信息标志,单纯标志、组合…

温泉酒店网站建设方案英文网站优化

今天发现一个很有意思的问题,正常解决项目中产生的循环依赖,是找出今天添加的注入代码,然后一个个加lazy试过去,会涉及到类中新增的注入 但是今天修改了某个serviceimpl的方法,加入了Async方法后 就发生循环依赖了 ai…

河北网站建设推广自己做的网站怎么发布视频教程

一、说明 本系列是关于学习如何使用 ROS2、Docker 和 Github 设计、设置和维护机器人项目。 先决条件 — ROS2 软件包的基本知识、实现发布者、订阅者、操作并连接它们。 我们之前在 ROS2 中了解了不同的部分。但是,在我们转向实际的基于硬件的项目之前,…

ChatGPT 在招聘诈骗领域的应用

ChatGPT 在招聘诈骗领域的应用作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客 zhihu Github 公众号:一本正经的瞎扯事件经过 整个八月我都没有上班,在等待新的工作签证审批通过。 工作签证有…

FR报表下拉框高度(JS添加css样式方式)调整

FR报表下拉框高度调整解决方案 问题描述 在FR报表开发中,点击下拉框按钮后,下拉选项列表的高度太小,用户体验不佳。直接使用 $(.fr-combo-list).css("height","400px") 设置高度往往不生效,因…

基于Python+Vue开发的新闻管理系统源码+运行步骤

项目简介该项目是基于Python+Vue开发的新闻管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Pyt…

鸿蒙应用开发从入门到实战(十二):ArkUI组件ButtonToggle

ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解按钮组件Button和Toggle的使用。大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中,陆…

宁波网站建设 慕枫科技旅游网站开发需求文档模板下载

2023年以来,在下游市场需求仍在复苏以及存量市场竞争加剧的背景之下,消费电子行业的发展受到不小挑战。不过,从中期业绩来看,可以发现一些企业还是具备一定的风险抵御能力,发展韧性显著,创维就是其中一员。…

贵州便宜网站推广优化电话濮阳建设公司网站

写在前面 如果您研究过美国企业早期发展的过程中的组织架构和战略规划,您就会发现,从18世纪末期以来一直到第二次世界大战前夕,美国工业公司基本上成立了技术和自己的实验室。从美国的石油公司,到汽车生产制造,还是化…

凉州区住房和城乡建设局网站汉阳网站建设公司

​10月19日,“提升数字安全技术,护航数字经济发展”高峰论坛在常州创意产业园圆满完成。本次论坛由常州国家高新区管委会、常州市工业和信息化局、常州市大数据管理中心主办,聚焦“数据安全”主题,邀请了超百位专家及企业代表共同…

wordpress获取站点副标题沈阳市网站建设企业

组合模式是把一个类别归为一个整体,并且组织多个整体之间的关系,使用通过树形结构来描述所有整体。一般的编写方式为一个类别对象下添加多个该对象的元素,该对象又为其它对象下的元素。简单来说就是一个学校有一个总部&#xff0…

小企业网站怎么做怎么做阿里巴巴外贸网站

Spring Cloud Vue前后端分离-第3章 SpringBoot项目技术整合 3-1 集成持久层框架Mybatis ORM:对象关系映射,Hibernate是全自动ORM,Mybatis是半自动ORM,Mybatis可以操作的花样更多,是首选的持久层框架 System模块集成Mybatis框架…

做食品网站需要什么资质吗seo网站首页推广

一、 实验目标: 熟悉Linux上C程序的编译和调试工具,包括以下内容: 1. 了解Linux操作系统及其常用命令 2. 掌握编译工具gcc的基本用法 3. 掌握使用gdb进行程序调试 二、实验环境与工件 1.个人电脑 2. Fedora 13 Linux 操作系统 3. gcc…

白云外贸型网站建设网络直接销售的营销方式

Python类分为两种,一种叫经典类,一种叫新式类。都支持多继承,但继承顺序不同。 新式类:从object继承来的类。(如:class A(object)),采用广度优先搜索的方式继承(即先水平搜索&#…

菠菜网站怎么做推广德州网站建设哪家好

网络存储概述: 随着企业中数据信息的不断增长,尤其当成百上千TB的数据需要备份、恢复,以及面临着扩容、灾难恢复等需求时,DAS(直接附加存储,就是通过与计算机主板的I/O接口,如IDE、SCSI相连接由…

国内专业建站平台站长工具域名解析

笔记本电脑 使用久了内部会累积有灰尘,这些灰尘可能会影响到正常的使用;还有些人觉得笔记本电脑内存不够,想要加装个内存条;亦或想要帮助笔记本电脑换cpu等,这些都是需要将笔记本电脑拆卸下来,然后才能够完成好相关的工作。宏基47…