2016-07-04 1 views

ответ

2

Ответ да! вы можете использовать его с Firebase.

У нас есть RNCryptor, интегрированный в проект и использующий его для шифрования и дешифрования частных данных, хранящихся в Firebase.

Шифрование в ObjC

NSString *plainText = @"Hello!" 
NSData *data = [plainText dataUsingEncoding:NSUTF8StringEncoding]; 
NSError *error; 
NSData *encryptedData = [RNEncryptor encryptData:data 
            withSettings:kRNCryptorAES256Settings 
             password:aKey 
              error:&error]; 

NSString *stringFromEncryptedData = [encryptedData 
     base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; 

Вот образец расшифровывать в ObjC

NSData *dataFromEncryptedString = [[NSData alloc] 
      initWithBase64EncodedString:encryptedString 
           options:NSDataBase64DecodingIgnoreUnknownCharacters]; 
NSError *error; 
NSData *decryptedData = [RNDecryptor decryptData:dataFromEncryptedString 
            withPassword:aKey 
              error:&error]; 

NSString *plainText = [[NSString alloc] initWithData:decryptedData 
              encoding:NSUTF8StringEncoding]; 

Обратите внимание, что AKEY является секретом шаблона строки, которую вы хотите использовать для шифрования/расшифровок простой текстовой строки.

+0

легенда! Отлично работает, он эффективно сбрасывается в firebase как случайный беспорядок персонажей. – Eli

2

Вот моя Encrypt функция в быстрой

func EncryptData(text: String) -> String { 
    let Data: NSData = String(text).dataUsingEncoding(NSUTF8StringEncoding)! 
    let Password = "Secret password" 
    let EncryptedText = RNCryptor.encryptData(Data, password: "Secret password") 

    return EncryptedText.base64EncodedStringWithOptions(.Encoding64CharacterLineLength) 
} 

и вот мой Расшифровать Функция

func DecryptData(text: String) -> String { 
    let decodedData = NSData(base64EncodedString: text, options: .IgnoreUnknownCharacters) 
    do { 
     let originalData = try RNCryptor.decryptData(decodedData!, password: MasterKey) 
     return String(data: originalData, encoding: NSUTF8StringEncoding)! 
    } catch { 
     return "Data Error" 
    } 
} 
+0

Sweet! Хороший и чистый. – Jay