关于HarmonyOS的RSA加密方式?原有JAVA环境中RSA加密使用的方式是“RSA|ECB|PKCS1Padding”,我想知道在let cipher = cryptoFramework.createCipher(“加密方式”)中 加密方式应该填什么?
关于HarmonyOS的RSA加密方式?原有JAVA环境中RSA加密使用的方式是“RSA|ECB|PKCS1Padding”,我想知道在let cipher = cryptoFramework.createCipher(“加密方式”)中 加密方式应该填什么?
在HarmonyOS中,尤其是如果你在使用其提供的加密框架(通常基于OpenSSL或类似的加密库),RSA加密方式的指定可能略有不同于传统Java中的Cipher
类使用的字符串格式。在Java中,"RSA/ECB/PKCS1Padding"
实际上是一个包含错误或误导性组件的字符串,因为RSA本身是一种非对称加密算法,它不使用ECB(电子密码本)模式,因为ECB模式通常用于对称加密算法。
在HarmonyOS或类似的基于C/C++或兼容OpenSSL的加密框架中,如果你需要实现RSA加密并使用PKCS#1填充(这是最常见的RSA加密填充方式),你应该使用类似"RSA/ECB/PKCS1Padding"
的简化或修正版,但通常只需指定RSA和填充方式即可,因为RSA加密自然就是非对称的。不过,注意在OpenSSL等库中,通常不需要指定模式(如ECB),因为这不适用于RSA。
在HarmonyOS的加密框架中(如果它遵循OpenSSL或类似API),你可能会使用类似这样的字符串来创建一个RSA加密器:
let cipher = cryptoFramework.createCipher("RSA-PKCS1-OAEP-PADDING");
或者,如果你确实需要使用PKCS#1 v1.5填充(注意安全性上PKCS#1 v1.5可能不如OAEP),则可能是:
let cipher = cryptoFramework.createCipher("RSA-PKCS1-PADDING");
请注意,我使用了RSA-PKCS1-OAEP-PADDING
和RSA-PKCS1-PADDING
作为示例,因为这些都是OpenSSL和许多其他加密库中常用的RSA加密填充方式。但是,确切的字符串可能取决于HarmonyOS的API文档和它所使用的加密库的具体实现。
重要提示:确保查阅HarmonyOS的官方文档或API参考,以获取关于如何正确设置加密方式的准确指导。上述字符串是基于通用加密实践和OpenSSL库的常见用法,但可能需要根据HarmonyOS的具体情况进行调整。
参考值:‘3DES192|ECB|PKCS7’
具体可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...