2016-07-04 7 views

답변

2

대답은 예입니다! Firebase와 함께 사용할 수 있습니다.

우리는 프로젝트에 RNCryptor를 통합하여 Firebase에 저장된 개인 데이터를 암호화하고 해독하는 데 사용하고 있습니다.

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

에서

암호화 여기에 A 키는 암호화/당신의 일반 텍스트 문자열을 해독하는 데 사용할 비밀 문자열 패턴임을 참고

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]; 

ObjC

의 해독 패턴입니다.

+0

전설이다! 훌륭하게 작동하여 캐릭터의 임의의 뒤죽박죽으로 Firebase에 완벽하게 저장됩니다. – Eli

2

여기

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