openpgp
支持 Android 和 iOS、macOS、Linux、Windows 和 Web 的 OpenPGP 使用库
用于 flutter 的 OpenPGP,使用 golang 编写以实现快速性能,并支持 android、ios、macos、linux、windows 和 web
{"sdk":"flutter"}{"sdk":"flutter"}^2.1.3^23.5.26^1.9.0>=0.5.0 <2.0.0^2.0.2^5.0.0{"sdk":"flutter"}以下为英文项目原文快照,最新内容请访问 GitHub。
Library for use openPGP with support for android, ios, macos, windows, linux and web
void main() async {
var keyOptions = KeyOptions()..rsaBits = 2048;
var keyPair = await OpenPGP.generate(
options: Options()
..name = 'test'
..email = 'test@test.com'
..passphrase = passphrase
..keyOptions = keyOptions);
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = await OpenPGP.encrypt("text","[publicKey here]");
var result = await OpenPGP.encryptSymmetric("text","[passphrase here]");
var result = await OpenPGP.encryptBytes(bytesSample,"[publicKey here]");
var result = await OpenPGP.encryptSymmetricBytes(bytesSample,"[passphrase here]");
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = await OpenPGP.decrypt("text encrypted","[privateKey here]","[passphrase here]");
var result = await OpenPGP.decryptSymmetric("text encrypted","[passphrase here]");
var result = await OpenPGP.decryptBytes(bytesSample,"[privateKey here]","[passphrase here]");
var result = await OpenPGP.decryptSymmetricBytes(bytesSample,"[passphrase here]");
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = await OpenPGP.sign("text","[privateKey here]","[passphrase here]");
var result = await OpenPGP.signBytesToString(bytesSample,"[privateKey here]","[passphrase here]");
// sign including data
var result = await OpenPGP.signData("text","[privateKey here]","[passphrase here]");
var result = await OpenPGP.signDataBytesToString(bytesSample,"[privateKey here]","[passphrase here]");
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = await OpenPGP.verify("text signed","text","[publicKey here]");
var result = await OpenPGP.verifyBytes("text signed", bytesSample,"[publicKey here]");
// verify signed with data
var result = await OpenPGP.verifyData("text signed","[publicKey here]");
var result = await OpenPGP.verifyDataBytes(bytesSample,"[publicKey here]");
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = await OpenPGP.armorEncode("PGP MESSAGE", bytesSample);
}
void main() async {
var result = await OpenPGP.armorDecode("message here");
}
void main() async {
var result = await OpenPGP.getPrivateKeyMetadata("[privateKey here]");
var result = await OpenPGP.getPublicKeyMetadata("[publicKey here]");
}
void main() async {
var result = await OpenPGP.convertPrivateKeyToPublicKey("[privateKey here]");
}
void main() {
var keyOptions = KeyOptions()..rsaBits = 2048;
var keyPair = OpenPGPSync.generate(
options: Options()
..name = 'test'
..email = 'test@test.com'
..passphrase = passphrase
..keyOptions = keyOptions);
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = OpenPGPSync.encrypt("text","[publicKey here]");
var result = OpenPGPSync.encryptSymmetric("text","[passphrase here]");
var result = OpenPGPSync.encryptBytes(bytesSample,"[publicKey here]");
var result = OpenPGPSync.encryptSymmetricBytes(bytesSample,"[passphrase here]");
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = OpenPGPSync.decrypt("text encrypted","[privateKey here]","[passphrase here]");
var result = OpenPGPSync.decryptSymmetric("text encrypted","[passphrase here]");
var result = OpenPGPSync.decryptBytes(bytesSample,"[privateKey here]","[passphrase here]");
var result = OpenPGPSync.decryptSymmetricBytes(bytesSample,"[passphrase here]");
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = OpenPGPSync.sign("text","[privateKey here]","[passphrase here]");
var result = OpenPGPSync.signBytesToString(bytesSample,"[privateKey here]","[passphrase here]");
// sign including data
var result = OpenPGPSync.signData("text","[privateKey here]","[passphrase here]");
var result = OpenPGPSync.signDataBytesToString(bytesSample,"[privateKey here]","[passphrase here]");
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = OpenPGPSync.verify("text signed","text","[publicKey here]");
var result = OpenPGPSync.verifyBytes("text signed", bytesSample,"[publicKey here]");
// verify signed with data
var result = OpenPGPSync.verifyData("text signed","[publicKey here]");
var result = OpenPGPSync.verifyDataBytes(bytesSample,"[publicKey here]");
}
void main() async {
var bytesSample = Uint8List.fromList('data'.codeUnits);
var result = OpenPGPSync.armorEncode("PGP MESSAGE", bytesSample);
}
void main() async {
var result = OpenPGPSync.armorDecode("message here");
}
void main() async {
var result = OpenPGPSync.getPrivateKeyMetadata("[privateKey here]");
var result = OpenPGPSync.getPublicKeyMetadata("[publicKey here]");
}
void main() async {
var result = OpenPGPSync.convertPrivateKeyToPublicKey("[privateKey here]");
}
No additional setup required.
No additional setup required.
Add to you pubspec.yaml.
assets:
- packages/openpgp/web/assets/worker.js
- packages/openpgp/web/assets/wasm_exec.js
- packages/openpgp/web/assets/openpgp.wasm
ref: https://github.com/jerson/flutter-openpgp/blob/master/example/pubspec.yaml
No additional setup required.
No additional setup required.
No additional setup required.
Inside example folder.
cd example && flutter run
check our web demo: [https://flutter-openpgp.jerson.dev/]
Native library is made in Go for faster performance.
[https://github.com/jerson/openpgp-mobile]
You need to run
make upgrade
You need to run
make test