2016-10-27 8 views
1

私はkCCSuccessとしてCCCryptorStatusを取得しています。
これは、暗号化が正常に完了したことを意味します。
しかし、暗号化されたデータを取得したいのですが、どうすれば入手できますか?

ご協力いただければ幸いです。CCCrypt iOSの返信データを取得する方法は?

おかげで、
プジャRathod

答えて

1

CCCryptの引数をよく見てください:

CCCryptorStatus CCCrypt(CCOperation op, 
    CCAlgorithm alg, 
    CCOptions options, 
    const void *key, 
    size_t keyLength, 
    const void *iv, 
    const void *dataIn, 
    size_t dataInLength, 
    void *dataOut, 
    size_t dataOutAvailable, 
    size_t *dataOutMoved); 

(これはCタイプを使用して、古いman pageからである。)で

を最後の3つの引数を入力する必要があります。

  • は暗号化されたデータを書き込むバイトバッファ
  • バッファの合計(利用可能な)長さ
  • と書き込まれたバイト数を書き込むことができる場所です。 Objective-Cで

、あなたは必要なバッファ(hereから取られたコード例)を提供するためのNSMutableDataを使用することができます。

CCCryptorStatus ccStatus = kCCSuccess; 
size_t   cryptBytes = 0; 
NSMutableData *dataOut = [NSMutableData dataWithLength:dataIn.length + kCCBlockSizeAES128]; 

ccStatus = CCCrypt(encryptOrDecrypt, // kCCEncrypt or kCCDecrypt 
        kCCAlgorithmAES128, 
        kCCOptionPKCS7Padding, 
        key.bytes, 
        kCCKeySizeAES128, 
        iv.bytes, 
        dataIn.bytes, 
        dataIn.length, 
        dataOut.mutableBytes, 
        dataOut.length, 
        &cryptBytes); 

dataOut.length = cryptBytes; 
+0

はい私はこの感謝を得たが、今私は通過して問題を持っていますphpのようにphp web apiに暗号化されたデータがNSDATAでデータを復号化できないので、この暗号化されたNSDATAをどのようにバイトまたは文字列に変換できますか? – puja

+0

PHP APIがサポートしている場合は、暗号化された生データをHTTPリクエストの本体として直接設定できます。そうでない場合は、所有者と彼らが期待していることについて話し合わなければならないでしょう。たとえば、NSDataの適切なメソッドを使用してbase64文字列にデータをエンコードした後、変換をUTF-8エンコードされたデータに戻して使用することができます。 – vzsg

関連する問題