密钥库 0.2.1

密钥库 0.2.1

Koray Koska 维护。



 
依赖项
CryptoSwift~> 1.0
secp256k1.swift~> 0.1
 

密钥库 0.2.1

  • Koray Koska

CI Status Version License Platform Carthage compatible Telegram

⚗️密钥库

Keystore.swift使从以太坊密钥库文件中提取私钥和从现有私钥生成密钥库文件变得容易。
此库属于我们的Swift Crypto系列。要获取一个纯Swift以太坊Web3库,请查看Web3.swift

示例

请查看下面用法示例,或查看存储库的测试。

安装

CocoaPods

密钥库可通过CocoaPods使用。要安装它,只需将以下行添加到您的Podfile

pod 'Keystore'

Carthage

密钥库与Carthage兼容,Carthage是一个去中心化的依赖项管理器,它构建您的依赖项并为您提供二进制框架。要安装它,只需将以下行添加到您的Cartfile

github "Boilertalk/Keystore.swift"

您还必须安装依赖项,这些依赖项可以在我们的Cartfile中找到。

Swift 包管理器

仓库与 Swift 包管理器 v4(Swift 4 及以上版本)兼容。只需将其添加到您的 Package.swift 依赖项中。

dependencies: [
    .package(url: "https://github.com/Boilertalk/Keystore.swift.git", from: "0.2.0")
]

然后将其添加到目标依赖项中。

targets: [
    .target(
        name: "MyProject",
        dependencies: ["Keystore"]),
    .testTarget(
        name: "MyProjectTests",
        dependencies: ["MyProject"])
]

安装完成后,您可以在 .swift 文件中导入 Keystore

import Keystore

使用方法

要从一个现有的仓库文件中提取私钥,只需按照以下操作。

import Keystore

let decoder = JSONDecoder()

let keystoreData: Data = ... // Load keystore data from file?
let keystore = try decoder.decode(Keystore.self, from: keystoreData)

let password = "your_super_secret_password"
let privateKey = try keystore.privateKey(password: password)

print(privateKey)    // Your decrypted private key

要从现有的私钥生成仓库文件,您的代码可能看起来像以下这样。

let privateKey: [UInt8] = ... // Get your private key as a byte array

let password = "your_super_secret_password"
let keystore = try Keystore(privateKey: privateKey, password: password)

let keystoreJson = try JSONEncoder().encode(keystore)
print(String(data: keystoreJson, encoding: .utf8))       // Your encrypted keystore as a json string

作者

Boilertalk 的卓越团队⚗️
...以及来自社区的更多极客💜

查看贡献者列表以获取完整列表。

许可协议

Keystore 可在 MIT 许可下使用。有关更多信息,请参阅 LICENSE 文件。