菜鸟教程小白 发表于 2022-12-12 19:30:40

ios - 我需要哪种编码来解密这个 AES128 数据


                                            <p><p>我正在使用这个 Objective-C 类别来加密和解密我的字符串数据:<a href="https://gist.github.com/leeprobert/b83f07ca90ad657a1cd17f94b13138b1" rel="noreferrer noopener nofollow">https://gist.github.com/leeprobert/b83f07ca90ad657a1cd17f94b13138b1</a> </p>

<p>我有一个像这样的 NSString 类别:</p>

<pre><code>@implementation NSString (AESCrypt)

- (NSString *)AES128EncryptWithKey:(NSString *)key
{
    NSData *plainData = ;
    NSData *encryptedData = ;

    NSString *encryptedString = ;

    return encryptedString;
}

- (NSString *)AES128DecryptWithKey:(NSString *)key
{
    NSData *plainData = ;
    NSData *decryptedData = ;

    NSString *decryptedString = [ initWithData:decryptedData encoding:NSUTF8StringEncoding];

    return decryptedString;
}

@end
</code></pre>

<p>我的问题是,当我测试这个时,我得到了垃圾:</p>

<pre><code>NSString* stringToEncrypt = @&#34;Mary had a little lamb&#34;;
      NSString* encryptedString = ;
      NSString* decryptedString = ;

      NSLog(@&#34;encryptedString = %@, decryptedString = %@&#34;, encryptedString, decryptedString);
</code></pre>

<p>这将记录为:</p>

<pre><code>encryptedString = wLnJKED9oE4zC8dS9X7XskTs8kMTP59LUj8aatxW9+c=, decryptedString = (null)
</code></pre>

<p>我不相信我需要在加密过程中进行 base64 编码。这部分是别人的代码。我现在正在尝试解密。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您在解密过程中没有考虑 Base64 编码。而不是 <code></code> 你应该使用 <code>[ initWithBase64EncodedString:self options:0]</code>。</p>

<p>您是否要使用 Base64 仅取决于您在做什么。这是获取 NSData(即加密输出/解密输入)并将其转换为具有小字符集 (<code>A-Za-z0-9+/=</code>) 的字符串的便捷方式。</p ></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 我需要哪种编码来解密这个 AES128 数据,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/36774075/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/36774075/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 我需要哪种编码来解密这个 AES128 数据