Python 学习随笔 201903071. 如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释-- coding: utf-8 --目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为… 并选择UTF-8格式保存。代码'''# -*- coding:`在这里插入代码片` ut
转载 2024-09-08 20:14:16
53阅读
1. 根据RSA生成一对秘钥构建保存秘钥的实体类Entity@Data @Builder @AllArgsConstructor @NoArgsConstructor public class Entity { /** * 公钥 **/ private String publicKey; /** * 私钥 **/ private String privat
转载 2024-06-17 20:22:45
25阅读
RSA安全性应用场景说明  在刚接触RSA的时候,会混淆RSA加密解密和RSA加的概念。简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解密并查看数据;加是私钥加公钥,持有私钥(一人持有)可以加,持有公钥(多人持有)可以。  在金融行业在设计到数据交互传输的时候,需要考虑数据的安全性问题。下文通过介绍RSA的加密和加
转载 2024-05-06 18:03:30
62阅读
# Python 排序指南 在软件开发领域,尤其是在数据处理和API集成中,(或签名验证)及排序是非常重要的操作。这篇文章将指导你完成通过Python实现排序的整个流程。我们会逐步讨论每一步的实现方式,包含代码示例与相应的注释。 ## 一、整体流程 首先,让我们先概述一下实现排序的整体流程。我们将使用表格形式展示。 | 步骤 | 描述
原创 2024-09-10 07:05:35
43阅读
# RSA实现 ## 1. 简介 RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,常用于数字名和数据加密。RSA是通过使用私钥对签名进行解密,然后与原始数据进行比对,以验证数据的完整性和真实性。本文将介绍如何使用Python实现RSA。 ## 2. 流程概述 下面是RSA的整个流程概括: | 步骤 | 描述
原创 2024-01-01 08:55:32
153阅读
到了新公司后的第一个需求就是对内容做一个加,然后传给上游,上游客户端进行。需求看似简单,也确实简单,但是,背后的知识足够开一门课程、写一篇论文了,这里笔者用这样一个专题来简要整理一下相关的知识。首先明确几个名词:加密:发送方利用接收方的公钥对要发送的明文进行加密。解密:接受方利用自己的私钥进行解密。公钥和私钥配对的,用公钥加密的文件,只有对应的私钥才能解密。当然也可以反过来,用私钥加密,用对
写的很好,就做个笔记了。感谢作者! 项目中常用的API接口签名验证方法:1. 给app分配对应的key、secret2. Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下:   a. 按照请求参数名称将所有请求参数按照字母先后顺序排序得到:keyvaluekeyvalue...keyvalue  字符串如:将arong=1,mrong=2,crong=3 排序为:a
转载 2023-08-03 08:42:09
382阅读
# Alipay Python实现 ## 导语 Alipay(支付宝)是中国领先的第三方支付平台,为用户提供支付、转账、消费等金融服务。在开发支付宝相关功能时,是非常重要的一步,用于确保请求和响应数据的完整性和安全性。本文将介绍如何使用Python实现Alipay的流程和代码示例。 ## 流程 下面是实现Alipay的基本流程,包括准备参数、生成签名和签过程。
原创 2023-10-19 12:15:18
188阅读
# Python脚本 ## 简介 在网络传输中,为了确保数据的完整性和安全性,常常需要对数据进行签名和操作。签名是指对数据进行加密生成一段特定的字符串,则是对该字符串进行解密验证,确认数据的真实性和完整性。Python作为一种强大的脚本语言,提供了丰富的库函数和工具,方便进行签名和的操作。本文将介绍如何使用Python进行脚本。 ## 签名和原理 在介绍具体的代码实
原创 2024-01-25 08:31:22
66阅读
1.非对称加密RSA是一种非对称加密算法。由消息接收者将公钥发送给消息发送者,使用容易被截获的公钥来加密;把私钥一直保存在消息的接收者处,使用不容易被截获的私钥来解密。这样即使攻击者截获了公钥也无法获取加密后的内容。这种算法还可以用于数字签名。使用发送端的私钥来加密数字签名,使用发送端传输给目标端的公钥来解密数字签名,如果解密成功,证明消息发送端是可靠的。而因为私钥难以获取,攻击者也难以用共钥伪造
转载 2024-04-20 18:09:49
23阅读
notify失败首先排除以下的错误原因:同步回调成功,但是异步通知就失败了,将获取的params参数打印出来,发现是一个subject参数居然是??;初步判断就是这个subject的问题。然后网上一堆不是我这个原因的,最后各种尝试,浪费两小时,记录下来希望有同样问题的人快速解决问题。我的问题从这个博客上得到解决。 将下载的demo中的乱码解决这一行删除 然后就可以执行异步回调了,这个时候我们s
:  背景:    在实际工作中,有些敏感接口如支付接口,接口定义了一个入参为auth,在请求接口时,必须传入正确的auth,接口才会返回正确的数据,否则不处理,目的是为了加强接口的安全性   原理:    每次发送请求时都需要携带一个参数,可能是header里面传,也可能是在body里面,一般定义名为auth    根据提供的算法,生成一个签名,每次请求的时候带上这个签名,后端验证
转载 2023-07-28 16:28:19
388阅读
        现在电子签章主要针对pdf文件,所以如果要,那么必须要熟悉pdf文件结构。Pdf文件知识点较多,仅pdf标准文档就已经到第7版了,最后一个版本就有800+页,学习起来难度相对较大,但如果仅仅是为了,那么看完本文即可满足主要需求,然后根据需要有目的去标准中查询相关知识点。需要注意的是:本文的文档结
是为了验证接收到的数据的真实性问题,但此次我的应用场景是这样的:     因为要从一个系统发送Http请求到另一个系统的域名上去获取相应的数据,但是被请求的这个域名是外网域名(任何人都能通过请求这个域名地址来获取数据),所以简单的使用签名来做一下校验,不通过的请求则不允许获取数据。下面是具体的实践:    1.先使用java原生类生成一
世界上最快的捷径,就是脚踏实地引言前后端鉴权是一个很大的话题,不同组织的鉴权方式各不相同,甚至对同一协议的业务实现也可能相去甚远。本文尝试从认证与授权两个维度来描述标题中的鉴权,大部分篇幅还是偏认证。文章主要包含三部分内容:区分认证与授权常见的认证及授权方式企业应用中常见的单点登录(SSO)方案。1 认证与授权首先,我们来简单看一下认证与授权,并理清楚两者之间的区别。认证(Authenticati
# Java加实现流程 作为一名经验丰富的开发者,我将教会你如何实现Java加的过程。在开始之前,我将首先介绍整个流程,并用表格展示每个步骤应该做什么。然后,我会逐步解释每个步骤需要做的事情,并提供相应的代码和注释。 ## 流程步骤 以下是Java加的流程步骤: | 步骤 | 描述 | | --- | --- | | 1 | 准备数据 | | 2 | 生成数字签名 | |
原创 2023-12-02 07:41:23
116阅读
需求描述:前端发起请求的参数携带sign=xxxx,后台验证签名是够正确sign签名生成规则: 1.将post请求的body转成jsonstring (按照body里key的自然升序排列),得到stringA,即: “reqBody={jsonstring}”, stringB=“cpToken={oem}”, stringD=“oemId={timestamp}”, stringF=“sourc
(Java) 在网络通信中,保证数据的完整性和真实性是非常重要的。为了达到这个目的,常常会使用加的技术来实现。 加(Signing)指的是使用私钥对数据进行加密,生成一个数字签名。而(Verifying)则是使用相应的公钥对数字名进行解密,以验证数据的完整性和真实性。 在Java中,可以使用Java提供的加解密API来实现加。下面我们就以常见的RSA算法为例,来演
原创 2024-01-23 03:38:46
248阅读
前言加模块早已做完了,从刚开始的一脸懵逼,到上线,前前后后两周多吧,现在整理一下思路,记录一下。什么是加,发送消息方,对消息加签名;接受消息方,验证签名是否正确。为什么要做加做加的目的主要目的就是,验证消息的完整性如何做加简单来说,发送消息方:1、根据消息内容形成摘要2、根据摘要形成签名字段3、发送消息接受消息方:1、接受消息2、根据消息内容形成摘要3、根据摘
一、RSA加密简介  RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)。  二、RSA加密、签名区别  加密和签名都是为了安全性考
  • 1
  • 2
  • 3
  • 4
  • 5