十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
因为RSA加解密,前端一般只会使用加密处理,所以只探讨加密方式。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的盐津网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
已知道公钥的情况下,进行RSA加密很简单,网上都有文章说明。
然而开发过程中存在其它情况,如下面的:
这种情况,encrypt这个库是不支持的,然后居然在网上找不到相关文章说明。刚好某项目用到此种方式,就去看有什么第三方库支持的,后来发现有个这样的库pointycastle,就尝试一下,居然可以!
上一篇 Flutter RSA加密、解密之我见一 我们了解到客户端使用公钥加密,私钥解密。那么本文我们要介绍下,客户端掌握公钥、服务端掌握私钥。客户端公钥加密,服务端私钥解密;服务端私钥加密,客户端公钥解密。
安卓可以使用java Cipher,iOS 使用Openssl这个库,对于Flutter前端来说要怎么做。
引入flutter_cipher这个库
通过以上步骤,我们就可以实现当服务端掌握私钥,客户端掌握公钥;
客户端公钥加密,服务端私钥解密;
服务端私钥加密,客户端公钥解密。
这个问题
上一篇
Flutter RSA加密、解密之我见一
原因是生成的私钥太长了
密钥长度:512、1024、2048、4096
秘钥格式:PKCS#8、PKCS#1
还有可以设置私钥密码
所以需要根据秘钥的生成的规则来使用
encrypt好像是默认使用1024长度的秘钥,其他就根据情况配置了
就是其他语言的秘钥长度要设置成1024
因项目需要用到加解密,然后研究了下flutter大部分是用原生实现加解密的,但是这样不是我想要的,后面找资料发现dart有一个加密工具 encrypt 。然后研究了下,可以实现我们大部分加解密。
使用Dart实现加解密,有对称加密AES,非对称加密RSA。
工具类封装了AES加解密,RSA加解密和数字签名,RSA也实现分段加解密。
一、导包
二、工具类
1.在assets下添加加密公钥和解密私钥
2.导入encrypt库
3.创建加解密辅助类
注:分段加密参考 关于Flutter中RSA分段加密