用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
安全
›
网络安全
›
【HarmonyOS NEXT】FAQ之系统开发(安全-加解密算法1) ...
【HarmonyOS NEXT】FAQ之系统开发(安全-加解密算法1)
万有斥力
论坛元老
|
2024-10-19 16:00:21
|
显示全部楼层
|
阅读模式
楼主
主题
1673
|
帖子
1673
|
积分
5019
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
1、CryptoFramework是否支持“RSA ECB pkcs1padding”加密模式
A:支持该加密模式,HarmonyOS分组模式默认是ECB。
PKCS1:即RFC3447规范中的RSAES-PKCS1-V1_5模式,对应OpenSSL中的RSA_PKCS1_PADDING。
2、如何获取应用签名证书的hash值
A:如下
“应用指纹”signatureInfo.fingerprint是应用签名证书(.cer文件)的SHA-256hash值,当前支持获取本应用的“应用指纹”。
对于hash值,可利用加解密框架的hash算法,现在支持SHA1、SHA224、SHA256、SHA384、SHA512、MD5。
3、如何利用国密SM2算法进行加解密
A:加解密如下
加密
生成ECC密钥(公钥)。
当前SM2密钥生成的参数只支持封装并ASN.1序列化后的数据(公钥91字节,私钥51字节),而很多
开发
者利用的密钥数据是未封装序列化过的原始裸数据(公钥64字节,私钥32字节)。当前ECC密钥的生成是支持未封装序列化过的原始裸数据作为参数的,可以先利用原始密钥数据生成ECC密钥作为中心对象,然后将ECC密钥的数据作为参数来生成SM2密钥。
生成SM2密钥对象。
完成ECC的密钥对象创建后,下一步就是将ECC的密钥数据传入convertKey中来生成SM2密钥对象。
利用裸密钥实行SM2加密。
得到SM2密钥后,就可以利用cryptoFramework创建的cipher,实行SM2算法加密。
业务层封装调用,实行加密。
其中pubKey是未封装序列化过的原始裸数据公钥。最终返回的是尺度SM2密文数据,符合ASN.1编码尺度(base64编码)。
解密
将SM2裸密文数据转为尺度的ASN.1序列化格式。
部分
开发
者的云端利用的密文格式为未封装序列化的裸数据,所以需要先根据SM2国标说明,编写代码,将裸密文数据转化为ASN.1序列化格式。
生成ECC密钥(私钥)。
与加密过程的生成ECC公钥类似,先利用原始私钥数据生成ECC加密的私钥;其中genSM2CommonSpec与加密时的方法类似。
生成SM2密钥对象。
与加密过程类似,利用genSM2Key方法,将ECC的私钥数据传入convertKey中来生成SM2密钥对象。
利用裸密钥实行SM2解密。
得到SM2密钥后,就可以利用cryptoFramework创建的cipher,实行SM2算法解密。
业务层封装调用,实行解密。
如下所示,如果需要解密裸密文,实行decryptSM2Array;如果待解密的是base64编码的符合ASN.1序列化的密文,则实行decryptSM2方法。其中priKey是未封装序列化过的原始裸数据私钥。最终返回解密后的字符串。
4、ECC算法是否支持secp256r1
A:ECC算法支持secp256r1,ECC256生成的就是secp256r1。
5、sm2公钥私对的getEncode().data返回的二进制数据是什么格式的
A:返回的是pkcs#8格式的私钥。
6、是否有AES的ECB模式的加密算法
A:有AES的ECB模式的加密算法,详情请参见:AES的ECB模式的加密算法
7、是否支持sm3算法
A:从API version 10开始, 支持sm3算法。参考链接:消息择要计算。
8、如何利用Native计算MD5
A:HarmonyOS中有提供择要算法,可参考消息择要计算。
9、如何对大文件进行SM4加密
A:利用分段加解密,对于ECB和CBC模式,岂论update传入的数据是否为分组长度的整数倍,都会以分组作为基本单元进行加/解密,并输出本次update新产生的加/解密分组效果。update只要凑满一个新的分组就会有输出,如果没有凑满则此次update输出为null,把当前还没被加/解密的数据留着,等下一次update/doFinal传入数据的时候,拼接起来继承凑分组。最后doFinal的时候,会把剩下的还没加/解密的数据,根据createCipher时设置的padding模式进行添补,补齐到分组的整数倍长度,再输出剩余加解密效果。
10、AES的CBC加密,报错401
用AES256|CBC|PKCS5加密,在symKeyGenerator.convertKey时,报401参数错误,无法生成symKey
A:密钥是base64格式,转换时要用 const decryptKeyUint8Array = base.decodeSync(key);
11、如何实现RSA的公钥PK加密一段笔墨
A:算法库现在提供了RSA加解密常用的三种模式:NoPadding、PKCS1、PKCS1_OAEP。不同RSA密钥规格和不同添补方式支持加密的数据长度不同,详情见参考链接。
12、如何解决AES解密失败
利用cryptoFramework进行AES解密时,报错"doFinal failed"。
A:由于三方库版本问题,需要把根目次下oh-package.json5文件中 "@ohos/crypto-js"的版本号修改为 "2.0.3"。
更多详情查看:文档中央
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
万有斥力
论坛元老
这个人很懒什么都没写!
楼主热帖
MyBatis-Plus入门教程及基本API使用案 ...
深度理解 C# 中的 for 和 foreach ...
几个函数的使用例子:更新VBRK-XBLNR, ...
EFCore 动态拼接查询条件(表达式树方式 ...
OpenJDK和OracleJDK的区别说明
阿里巴巴Java开发手册(全册四版) ...
Excel 制作可视化看板的思路及操作 ...
.net 发邮件的小工具,包含json,环境 ...
2022年混过的那些SAP项目
跨域攻击的方法介绍
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
物联网
MES
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表