Как я могу быстро изменить sha1 в кодировке Base64?IOS

Программируем под IOS
Ответить
Anonymous
 Как я могу быстро изменить sha1 в кодировке Base64?

Сообщение Anonymous »

Мне нужно преобразовать строку в sha1, а затем использовать base64. Просто base64_encode(sha1(My_String)). Я хочу это сделать, но не могу исправить это правильно. Я могу преобразовать SHA1 с помощью этого кода: let firstTry = SHA1.hash(from: «call»), но когда я пытаюсь сделать это в base64, он выдает ошибку, например, строка не разрешена. Как мне преобразовать base64?
Спасибо за внимание.
Я пытаюсь преобразовать c[all] в sha1 с помощью этого кода:
let str = "c[all]"
let den3 = str.sha1()

он ​​работает хорошо и возвращает правильный результат:

0fee061faab109e27b75010f2f1a0d8258bab7c5

И когда я добавляю let den3 = str.sha1().toBase64(), я получаю:

MGZlZTA2MWZhYWIxMDllMjdiNzUwMTBmMmYxYTBkODI1OGJhYjdjNQ==

что на самом деле неправильно, мне нужно это понять:

D+4GH6qxCeJ7dQEPLxoNgli6t8U=

В чем моя проблема?
Здесь мои расширения >
extension String {
func sha1() -> String {
let data = Data(self.utf8)
var digest = [UInt8](repeating: 0, count:Int(CC_SHA1_DIGEST_LENGTH))
data.withUnsafeBytes {
_ = CC_SHA1($0.baseAddress, CC_LONG(data.count), &digest)
}
let hexBytes = digest.map { String(format: "%02hhx", $0) }
return hexBytes.joined()
}

func toBase64() -> String {
return Data(self.utf8).base64EncodedString()
}
}


Подробнее здесь: https://stackoverflow.com/questions/598 ... g-in-swift
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»