Add SHA256

This commit is contained in:
Max Goedjen 2021-01-17 14:03:09 -08:00
parent 6c3748b6bf
commit 7d818593a6
No known key found for this signature in database
GPG Key ID: E58C21DD77B9B8E8
2 changed files with 9 additions and 2 deletions

View File

@ -19,7 +19,11 @@ public struct OpenSSHKeyWriter {
.joined(separator: " ")
}
public func openSSHFingerprint<SecretType: Secret>(secret: SecretType) -> String {
public func openSSHSHA256Fingerprint<SecretType: Secret>(secret: SecretType) -> String {
Data(SHA256.hash(data: data(secret: secret))).base64EncodedString()
}
public func openSSHMD5Fingerprint<SecretType: Secret>(secret: SecretType) -> String {
Insecure.MD5.hash(data: data(secret: secret))
.compactMap { ("0" + String($0, radix: 16, uppercase: false)).suffix(2) }
.joined(separator: ":")

View File

@ -10,7 +10,10 @@ struct SecretDetailView<SecretType: Secret>: View {
var body: some View {
Form {
Section {
CopyableView(title: "Fingerprint", image: Image(systemName: "touchid"), text: keyWriter.openSSHFingerprint(secret: secret))
CopyableView(title: "SHA256 Fingerprint", image: Image(systemName: "touchid"), text: keyWriter.openSSHSHA256Fingerprint(secret: secret))
Spacer()
.frame(height: 20)
CopyableView(title: "MD5 Fingerprint", image: Image(systemName: "touchid"), text: keyWriter.openSSHMD5Fingerprint(secret: secret))
Spacer()
.frame(height: 20)
CopyableView(title: "Public Key", image: Image(systemName: "key"), text: keyString)