相关疑难解决方法(0)

加密/解密大文件(.NET)

我必须加密,存储然后解密大文件.这样做的最佳方式是什么?我听说RSA加密很昂贵,建议使用RSA加密AES密钥,然后使用AES密钥加密大文件.任何带有示例的建议都会很棒.

.net c# encryption cryptography rsa

25
推荐指数
3
解决办法
5万
查看次数

AES在iOS(Obj-C)和Android(Java)中获得不同的结果

我是这种加密的完全新手,但我有一个Java应用程序和iOS,我希望他们都能够将文本转换成相同的结果.我用AES.我找到了这些代码,当然稍作修改,但它们会返回不同的结果

iOS代码:

- (NSData *)AESEncryptionWithKey:(NSString *)key {    
    unsigned char keyPtr[kCCKeySizeAES128] = { 'T', 'h', 'e', 'B', 'e', 's', 't', 'S', 'e', 'c', 'r','e', 't', 'K', 'e', 'y' };
    size_t bufferSize = 16;
    void *buffer = malloc(bufferSize);
    size_t numBytesEncrypted = 0;
    const char iv2[16] = {  65, 1, 2, 23, 4, 5, 6, 7, 32, 21, 10, 11, 12, 13, 84, 45 };
    CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt,
                                          kCCAlgorithmAES128,
                                          kCCOptionECBMode | kCCOptionPKCS7Padding,,
                                          keyPtr,
                                          kCCKeySizeAES128,
                                          iv2,
                                          @"kayvan",
                                          6,
                                          dataInLength,
                                          buffer,
                                          bufferSize,
                                          &numBytesEncrypted);


    if …
Run Code Online (Sandbox Code Playgroud)

java android aes ios

4
推荐指数
2
解决办法
1万
查看次数

错误的PKCS7填充错误:无效长度106

我正在尝试使用以下函数进行加密和解密,但是,它会导致填充错误.

如果我设置PaddingModeNone它返回日志中的一些字母字符和随机符号.

我可能会错过设置正确结构的东西,如下所示:

  • Cipher Rijndael(AES)
  • 块大小128位(16字节)
  • 模式CBC(密码块链接)密钥
  • MD5哈希密码
  • IV与密钥相同
  • 数据编码Base64字符
  • UTF-8编码

任何帮助修复此错误以及确保满足上述结构的任何帮助将不胜感激!谢谢

错误

CryptographicException: Bad PKCS7 padding. Invalid length 106.
Mono.Security.Cryptography.SymmetricTransform.ThrowBadPaddingException (PaddingMode padding, Int32 length, Int32 position) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/Mono.Security.Cryptography/SymmetricTransform.cs:363)
Mono.Security.Cryptography.SymmetricTransform.FinalDecrypt (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/Mono.Security.Cryptography/SymmetricTransform.cs:515)
Mono.Security.Cryptography.SymmetricTransform.TransformFinalBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/Mono.Security.Cryptography/SymmetricTransform.cs:554)
System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Security.Cryptography/RijndaelManagedTransform.cs:94)
APIConnector.Decrypt (System.String toDecrypt) (at Assets/APIConnector.cs:85)
Run Code Online (Sandbox Code Playgroud)

我的代码

using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;
using System.Xml; …
Run Code Online (Sandbox Code Playgroud)

c# base64 cryptography rijndael rijndaelmanaged

1
推荐指数
1
解决办法
9450
查看次数

有没有办法在没有 iv 的情况下在 openssl 中运行 aes-128-cbc 加密?

我正在尝试openssl使用aes-128-cbc加密来加密文本文件,我想知道是否有一种方法可以仅使用密钥而不是 iv 对其进行加密?

每次我尝试运行时:

openssl enc -aes-128-cbc -e -in dummy_file.txt -out dummy.aes-128-cbc.bin -K 00112233445566778889aabbccddeeff
Run Code Online (Sandbox Code Playgroud)

我收到错误消息iv undefined,它生成的加密文件为空,甚至不是二进制文件。

encryption cryptography initialization-vector cbc-mode

0
推荐指数
1
解决办法
4086
查看次数

AES CBC 模式下的初始化向量 (IV)

我知道 IV 应该是随机的并与纯文本进行异或以开始加密。我的问题是,除了密钥之外,我是否还必须记住随机 IV 才能解密?

encryption aes initialization-vector

-1
推荐指数
1
解决办法
3086
查看次数