flutter_rsa_ohos

Library for use RSA with support for ohos

Usage

In pubspec.yaml:

dependencies:
  fast_rsa: ^3.6.3
  flutter_rsa_ohos: ^1.0.0

Encrypt methods

import 'package:flutter_rsa_ohos/fast_rsa_ohos.dart';

var result = await RSA.encryptOAEP(message, label, Hash.HASH_SHA256, publicKey)
var result = await RSA.encryptPKCS1v15(message, publicKey)

var result = await RSA.encryptOAEPBytes(messageBytes, label, Hash.SHA256, publicKey)
var result = await RSA.encryptPKCS1v15Bytes(messageBytes, publicKey)

Decrypt methods

import 'package:flutter_rsa_ohos/fast_rsa_ohos.dart';

var result = await RSA.decryptOAEP(message, label, Hash.HASH_SHA256, privateKey)
var result = await RSA.decryptPKCS1v15(message, privateKey)

var result = await RSA.decryptOAEPBytes(messageBytes, label, Hash.SHA256, privateKey)
var result = await RSA.decryptPKCS1v15Bytes(messageBytes, privateKey)

Sign methods

import 'package:flutter_rsa_ohos/fast_rsa_ohos.dart';

var result = await RSA.signPSS(message, Hash.SHA256, SaltLength.SALTLENGTH_AUTO, privateKey)
var result = await RSA.signPKCS1v15(message, Hash.SHA256, privateKey)

var result = await RSA.signPSSBytes(messageBytes, Hash.SHA256, SaltLength.SALTLENGTH_AUTO, privateKey)
var result = await RSA.signPKCS1v15Bytes(messageBytes, Hash.SHA256, privateKey)

Verify methods

import 'package:flutter_rsa_ohos/fast_rsa_ohos.dart';

var result = await RSA.verifyPSS(signature, message, Hash.SHA256, SaltLength.SALTLENGTH_AUTO, publicKey)
var result = await RSA.verifyPKCS1v15(signature, message, Hash.SHA256, publicKey)

var result = await RSA.verifyPSSBytes(signatureBytes, messageBytes, Hash.SHA256, SaltLength.SALTLENGTH_AUTO, publicKey)
var result = await RSA.verifyPKCS1v15Bytes(signatureBytes, messageBytes, Hash.SHA256, publicKey)

Generate Methods

import 'package:flutter_rsa_ohos/fast_rsa_ohos.dart';

var result = await RSA.generate(2048)

Convert Methods

import 'package:flutter_rsa_ohos/fast_rsa_ohos.dart';

var result = await RSA.convertPrivateKeyToPKCS8(privateKey)
var result = await RSA.convertPrivateKeyToPKCS1(privateKey)

var result = await RSA.convertPublicKeyToPKIX(publicKey)
var result = await RSA.convertPublicKeyToPKCS1(publicKey)

var result = await RSA.encryptPrivateKey(privateKey, password, PEMCipher.PEMCIPHER_AES256)
var result = await RSA.decryptPrivateKey(privateKeyEncrypted, password)

Util Methods

import 'package:flutter_rsa_ohos/fast_rsa_ohos.dart';

var result = await RSA.hash(message, Hash.SHA256)
var result = await RSA.base64(message)

Not Supported Interface

The following interfaces are not supported currently.

Interface Function Android Ohos
decryptOAEPBytes 填充模式PKCS1_OAEP的解密方法,返回字节 :white_check_mark: :white_check_mark:
decryptPKCS1v15Bytes 填充模式PKCS1的解密方法,返回字节 :white_check_mark: :white_check_mark:
encryptOAEPBytes 填充模式PKCS1_OAEP的加密方法,返回字节 :white_check_mark: :white_check_mark:
encryptPKCS1v15Bytes 填充模式PKCS1的加密方法,返回字节 :white_check_mark: :white_check_mark:
signPSSBytes 使用PSS签名,返回字节 :white_check_mark: :white_check_mark:
signPKCS1v15Bytes 使用PKCS1v15签名,返回字节 :white_check_mark: :white_check_mark:
convertPrivateKeyToPKCS8 私钥转换PKCS8格式字符串 :white_check_mark: :white_check_mark:
convertPrivateKeyToPKCS1 私钥转换PKCS1格式字符串 :white_check_mark: :white_check_mark:
convertPublicKeyToPKIX 公钥转换为X.509格式的字符串 :white_check_mark: :white_check_mark:
convertPublicKeyToPKCS1 公钥转换为PKCS1格式的字符串 :white_check_mark: :white_check_mark:
decryptPrivateKey 对PEM格式字符串的私钥进行解密 :white_check_mark: :white_check_mark:
encryptPrivateKey 对私钥进行加密后转为PEM格式字符串 :white_check_mark: :white_check_mark:
decryptOAEP 填充模式PKCS1_OAEP的解密方法,返回字符串 :white_check_mark: :white_check_mark:
decryptPKCS1v15 填充模式PKCS1的解密方法,返回字符串 :white_check_mark: :white_check_mark:
encryptOAEP 填充模式PKCS1_OAEP的加密方法,返回字符串 :white_check_mark: :white_check_mark:
encryptPKCS1v15 填充模式PKCS1的加密方法,返回字符串 :white_check_mark: :white_check_mark:
signPSS 使用PSS签名,返回字符串 :white_check_mark: :white_check_mark:
signPKCS1v15 使用PKCS1v15签名,返回字符串 :white_check_mark: :white_check_mark:
hash 计算给定消息的哈希值,返回16进制字符串 :white_check_mark: :white_check_mark:
base64 将字符串编码为 Base64 格式 :white_check_mark: :white_check_mark:
verifyPSS 使用PSS验签,返回字符串 :white_check_mark: :white_check_mark:
verifyPSSBytes 使用PSS验签,返回字节 :white_check_mark: :white_check_mark:
verifyPKCS1v15 使用PKCS1v15验签,返回字符串 :white_check_mark: :white_check_mark:
verifyPKCS1v15Bytes 使用PKCS1v15验签,返回字节 :white_check_mark: :white_check_mark:
generate 生成随机的非对称密钥对 :white_check_mark: :white_check_mark:
convertJWKToPrivateKey JWK格式字符串转换私钥 :white_check_mark: :x:
convertJWKToPublicKey JWK格式字符串转换公钥 :white_check_mark: :x:
convertKeyPairToPKCS12 密钥对转换PKCS12格式字符串 :white_check_mark: :x:
convertPrivateKeyToJWK 私钥转换为JWK格式字符串 :white_check_mark: :x:
convertPrivateKeyToPublicKey 私钥转换为公钥 :white_check_mark: :x:
convertPublicKeyToJWK 公钥转换为JWK格式字符串 :white_check_mark: :x:
convertPKCS12ToKeyPair PKCS12格式字符串转换密钥对 :white_check_mark: :x: