iOS pdf加密256位AES
我正在使用以下代码在iOS中加密我的pdf文件:iOS pdf加密256位AES,ios,objective-c,pdf,encryption,Ios,Objective C,Pdf,Encryption,我正在使用以下代码在iOS中加密我的pdf文件: CFDictionarySetValue(myDictionary, kCGPDFContextUserPassword, CFSTR("userpassword")); CFDictionarySetValue(myDictionary, kCGPDFContextOwnerPassword, CFSTR("ownerpassword")); 当我检查加密级别时,它是: “Acrobat 7.0及更高版本” 这意味着它是128位AES 我有点
CFDictionarySetValue(myDictionary, kCGPDFContextUserPassword, CFSTR("userpassword"));
CFDictionarySetValue(myDictionary, kCGPDFContextOwnerPassword, CFSTR("ownerpassword"));
当我检查加密级别时,它是:
“Acrobat 7.0及更高版本”
这意味着它是128位AES
我有点偏执,我想要256位AES加密(“AcrobatX和更高的加密级别:256位AES”)
如何实现它?AES 128或256都不能强制执行,256没有额外的优势 请看:“即使有一台超级计算机,使用蛮力攻击破解128位AES密钥也需要10亿年。” 值得怀疑的是“用户密码”和“所有者密码”。蛮力攻击通常基于频繁密码列表,请参阅中的密码列表
这是安全密码的良好开端。谢谢@zaph AES 128非常安全,这让我怀疑AES 256的存在。我会接受你的建议,使用更强的密码。还有一件事,我只是好奇的是,使用AES 256是iOS的限制吗?iOS通用加密支持所有三种AES密钥大小,128、192和256位。关键尺寸的一个原因是美国政府要求三种关键尺寸。这也是对未来的一种对冲。如今,密钥大小之间的性能差异很小,最初有更多,AES在2000年被NIST采用。由于通常不再存在性能损失,默认情况下将使用AES 256。谢谢。尝试使用CFDictionarySetValue(myDictionary,kCGPDFContextEncryptionKeyLength,(u bridge const void*)([NSNumber numberWithInt:40])//测试128并将其设置为256,但它返回一个空pdf,因为它只能支持40到128。您好,您找到了使用256位AES加密而不是128的方法吗?