小编Mor*_*ert的帖子

如何忽略除一个之外的所有dist文件夹?

我们的项目中有几个文件夹叫做dist.这些将被git忽略.另一方面手只是把dist/.gitignore文件不使用时,鲍尔有副作用,因为内的DIST文件夹bower_components/都将被忽略为好.

有关如何正确定义规则的任何建议,忽略dist除了内部文件夹之外的文件夹bower_components

git gitignore

6
推荐指数
1
解决办法
7842
查看次数

如何将 openssl 创建的 44 字节 x25519 公钥传递给需要 32 字节密钥长度的 CryptoKit

假设我使用 openssl 创建一个 x25519 密钥对,它将输出一个 64 字节私钥和相应的 44 字节 Base64 编码公钥,如下所示

-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VuBCIEIMBF8S7zUco4bRrMiIuyTcSYU/rAVlNtE8SMYWphUatw
-----END PRIVATE KEY-----


-----BEGIN PUBLIC KEY-----
MCowBQYDK2VuAyEAE0eiiP0PKjy9AVM/0z2ZIZn453WSJNemrQ58HAXDaX0=
-----END PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)

Swift CryptoKit 仅接受私钥和公钥初始化各 32 个字节。

如果我理解正确的话,64 字节私钥是种子,其中前 32 字节是实际私钥。

尽管如此,对公钥使用相同的原理是行不通的(这并不令人惊讶)

现在的问题是:如何将公钥转换为 Swift CryptoKit 所需的 32 字节?

这是使用 Base64 解码公钥的前 32 个字节的无效示例

let base64PublicKey = Data(base64Encoded: "MCowBQYDK2VuAyEAE0eiiP0PKjy9AVM/0z2ZIZn453WSJNemrQ58HAXDaX0=")!.dropLast(12)

let publicKey = try! Curve25519.KeyAgreement.PublicKey(rawRepresentation: rawPublicKey) 
Run Code Online (Sandbox Code Playgroud)

openssl swift apple-cryptokit x25519

2
推荐指数
1
解决办法
2225
查看次数

标签 统计

apple-cryptokit ×1

git ×1

gitignore ×1

openssl ×1

swift ×1

x25519 ×1