我们的项目中有几个文件夹叫做dist.这些将被git忽略.另一方面手只是把dist/到.gitignore文件不使用时,鲍尔有副作用,因为内的DIST文件夹bower_components/都将被忽略为好.
有关如何正确定义规则的任何建议,忽略dist除了内部文件夹之外的文件夹bower_components?
假设我使用 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)