为了给你上下文,有一个开发项目的 API 的开发人员,并且有一部分 json 将被加密。所以我必须破译他的内容。他列出了我在 iO 方面需要的所有功能。
所以我有他的javascript代码,我必须迅速重做等效的代码。他使用 JS 库(SJCL):https ://github.com/bitwiseshiftleft/sjcl/
我正在尝试使用公钥加密一些文本,但我不能。
首先,我生成了私钥/公钥
let keypair = P256.Signing.PrivateKey() // generation of a key pair
let private_key = keypair.rawRepresentation.base64EncodedString() // private key
print(private_key)
print("------------")
let public_key = keypair.publicKey // public key - DATA
print(public_key)
print("------------")
let publicKeyString = public_key.rawRepresentation.base64EncodedString() // public key - STRING - easy to share
print(publicKeyString)
现在,我正在尝试使用公钥加密文本..
在这里,他的 javascript 代码:
var c256 = sjcl.ecc.curves.c256;
var publickeyBas64ToBits = sjcl.codec.base64.toBits(publickey);
console.log(c256);
console.log(publickey);
console.log(publickeyBas64ToBits);
var pub = new sjcl.ecc.elGamal.publicKey(
c256,
publickeyBas64ToBits
)
var ciphertext = sjcl.encrypt(pub, message)
return ciphertext
我不明白如何使用 CryptoKit 快速做同样的事情:/
你能帮我吗 ?:)