草庐IT

security - 使用 AES-256-CBC 与 block 加密的文件加密

首先这是我在这里的第一个问题,我希望我能让你清楚地了解这个问题,也能帮助其他可能面临类似挑战的人!问题的标题也是我能得到的最短的TL;DR:-)因此,为了给您一些背景知识,我基本上是在设计一个协议(protocol),该协议(protocol)需要从服务器(在Node.js中实现)到设备的同步和有序文件传输,通过TCP。流式传输文件不是一种选择,因此每个文件block都封装在一条消息中,该消息具有其他非加密字段,这超出了这个问题的范围。其中一个要求是文件内容不能以纯文本形式发送,因此必须选择一种加密方案,在这种情况下我选择了AES-256-CBC,假设为了这个问题的目的,算法不能改变。

python - 通过 TCP 套接字进行 AES 加密文件传输;填充问题

我正在尝试使用AES256的加密TCP套接字进行文件传输。如果我传输一个没有加密的文件,它可以正常工作。如果我向客户端或服务器发送小命令(例如“ipconfig”),加密工作正常。无论文件大小如何,我都会不断收到以下错误消息:DecodeAES=lambdac,e:c.decrypt(base64.b64decode(e)).rstrip(PADDING)File"/usr/lib/python2.6/base64.py",line76,inb64decoderaiseTypeError(msg)TypeError:Incorrectpadding我的编码和解码函数如下(hat变量是消

ios - 使用 CommonCrypto 的 Swift AES 加密

我正在使用Swift2.1在XCode7.1上开发一个iOS应用程序,我正在尝试使用AES128位进行简单加密,并且PKCS7使用CommonCrypto库填充。代码有效,但每次我尝试将NSData对象转换为NSString然后转换为String时,我得到一个nil并且应用程序崩溃。我调试了应用程序,NSData对象不是nil。当我尝试解包String可选时发生错误。如何解决这个问题?并将NSData对象正确转换为字符串?这是我的代码staticfuncAESEncryption(phrase:String,key:String,ivKey:String,encryptOrDecryp

ios - 使用 Xcode 9 和 AES 解密的 CryptoSwift

我正在使用Xcode9.0和CryptoSwift(0.7.2)。我正在尝试扩展String以解密AES128加密字符串。我已使用Pods成功添加CryptoSwift,但出现以下编译错误-我做错了什么?'PKCS7'无法构造,因为它没有可访问的初始值设定项这是扩展:importFoundationimportCryptoSwiftextensionString{//https://stackoverflow.com/questions/27072021/aes-encrypt-and-decryptfuncaesDecrypt(key:String,iv:String)throws-

swift - 使用 AES 加密在 Swift 中加密/解密 UIImage

我正在利用Encrypt/decryptforImageonIOS使用Obj-c实现我在Swift中寻找的UIImage加密策略。现在,请忽略那里的“保存到库”问题,因为我在应用程序本身中遇到解密问题。加密步骤似乎工作正常,我确实将加密图像输出到imageView.image,但是当我尝试解密时,我得到了另一张图像将被加密,永远不会回到原始的.png图像。关于我哪里出错了有什么想法吗?AES加密文件在这里:https://github.com/alexeypro/EncryptDecrypt加密/解密:funcpixelEncryptDecrypt(){letimage=imageVi

swift - 具有 AES128 CTR 模式的 CryptoSwift - 错误计数器增量?

我在CryptoSwift-API(krzyzanowskim)上遇到问题,同时将AES128与CTR-Mode和我的测试函数一起使用(nullArrayBugTest())在特定计数器值(0和25之间=在13和24之间)产生错误的数组计数,通常应该是16!即使我使用手动递增的“iv_13”和错误值13而不是默认的“iv_0”和计数器13...测试一下以了解我的意思。funcnullArrayBugTest(){varctr:CTRletnilArrayToEncrypt=Data(hex:"00000000000000000000000000000000")letkey_=Data(

ios - swift 中的 AES128 加密

我对AES-128加密有疑问。iOS中的加密字符串与Android中的不同。下面是安卓代码:publicclassEncryption{privatestaticfinalStringALGORITHM="AES";privatestaticfinalStringUNICODE_FORMAT="UTF8";publicstaticStringencryptValue(StringvalueToEnc){try{Keykey=generateKey();Cipherc=Cipher.getInstance(ALGORITHM);c.init(Cipher.ENCRYPT_MODE,key

ios - 使用 avplayer 播放 AES 加密的 hls 流 - ios swift

我正在尝试在AVPlayer中播放AES加密流。通常,key链接会传送到M3U8播放列表中的播放器。在我的场景中,key被分成两半。前半部分已传送通过服务器,我应该将另一半附加到应用程序中以在播放时解密我已经在Android上完成了这个,有没有办法在iOS上也这样做?这是播放列表:#EXTM3U#EXT-X-VERSION:3#EXT-X-STREAM-INF:BANDWIDTH=200000,RESOLUTION=284x160chunklist_w670540365_b200000.m3u8?t=57b5b16d3824d#EXT-X-STREAM-INF:BANDWIDTH=85

javax.crypto.IllegalBlockSizeException : last block incomplete in decryption - Decrypting an encrypted AES String

我正在尝试解密从后端服务器接收到的字符串"~9?8?m???=?T?G",该服务器使用OpenSSL加密字符串,使用AES-256-CBC。有代码块:publicstaticStringdecryptText(StringtextToDecrypt){try{byte[]base64TextToDecrypt=Base64.encodeBase64(textToDecrypt.getBytes("UTF-8"));byte[]guid="fjakdsjkld;asfj".getBytes("UTF-8");byte[]iv=newbyte[16];System.arraycopy(gu

Java AES : No installed provider supports this key: javax. crypto.spec.SecretKeySpec

我正在尝试设置128位AES加密,但我的Cipher.init出现异常:没有已安装的提供程序支持此key:javax.crypto.spec.SecretKeySpec我使用以下代码在客户端生成key:privateKeyGeneratorkgen;try{kgen=KeyGenerator.getInstance("AES");}catch(NoSuchAlgorithmExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}kgen.init(128);}SecretKeyskey=kgen.generateKe