银行接口加密技术记录
记录最近做了一些对接银行的接口,用到了各种加密技术,这里记录一下
PGPPGP工作原理简述 | Mr.Muzi (marcuseddie.github.io)
gpg 密钥生成、导入、导出、自动输入密码_centos如何导入gpg-CSDN博客
OpenPGP 工作方式 | SAP Help Portal
汇丰银行要求使用PGP的方式来进行加解密,PGP最初是一款软件,其提供了一种混合加密的方式,将需要传输的信息使用对称加密如AES算法加密,接着将对称加密的密钥使用非对称算法进行加密,同时会使用散列算法将报文进行摘要,并使用私钥对其进行签名。所有的信息都会被封装进一个数据结构,发送给对方。
后来PGP将其协议公开,形成了OpenPGP,而GPG是实现了该协议的一种工具,可用于加解密内容或者生成PGP密钥。
PGP签名
发送方使用摘要算法计算消息内容中的摘要(或哈希值)。
PGP 签名支持以下哈希算法:
对于 DSA 密钥:SHA-1、SHA224、SHA256、SHA384、SHA512
对于 RSA 密钥:MD5、SHA-1、RIPE-MD/160、SH256、SHA3 ...
将文件加密到图片文件中
原理以bmp文件为例,在32位格式的bmp图片中,每个像素都有四个通道,分别为ARGB,也就是透明度,红色,绿色,蓝色。但bmp的透明度通道似乎不会被软件所解析,所以当修改其内容时并不会对图片显示有影响。
故可进行操作:将待加密文件转为字节数组,将每一个字节逐个存入 bmp的alpha通道中即可完成加密,解密则是将图片的alpha通道内容读出并拼接。
同时用了bmp文件本身的保留区(06-09)来存储原文大小,保留区本身无意义,进行修改不会影响
代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124import ja ...