草庐IT

Encryption

全部标签

ios - 是否可以在 iOS 上将 AES128 与 GCM 模式一起使用?

所以我想问各位stackoverflow天才的问题是:如果有一种方法(native、库、框架等)使用AES加密数据(最好是128,但也可以是256)使用strong经过身份验证的加密算法,比方说GCM模式?问题很短,我做了一些研究,我只找到了一个似乎支持它的库(RNCryptor),但它似乎也使用密码而不是key来加密(就像你提供密码,图书馆制作key)我不太喜欢这样,我更喜欢自己管理我的key。我也看CommonCryptor.h并且我找到了那一行,在我看来这是commoncryptor源代码中GCM的唯一引用(但我可能是错的,实际上我可能是错的):casekCCModeGCM:if

ios - AES ECB iOS 加密

我尝试使用带有ECB选项的AES算法来加密一些字符串。size_tbufferSize=dataLength+kCCBlockSizeAES128;void*buffer=malloc(bufferSize);size_tnumBytesEncrypted=0;CCCryptorStatuscryptStatus=CCCrypt(kCCEncrypt,kCCAlgorithmAES128,kCCOptionECBMode,encryptionKey,kCCKeySizeAES128,NULL/*initializationvector(optional)*/,[selfbytes],d

ios - Apple 的 doCipher 示例代码中的不良做法 :key:context:padding method

根据这篇文章http://blog.gdssecurity.com/labs/2013/3/5/retrieving-crypto-keys-via-ios-runtime-hooking.htmlApple的doCipher:key:context:padding方法示例代码中存在“错误做法http://developer.apple.com/library/ios/#samplecode/CryptoExercise/Listings/Classes_SecKeyWrapper_m.html”。以下代码片段显示它将使用16字节0x0的静态IV。//Initializationvec

ios - openssl 初始化 RSA 公钥

我有RSAbase64编码的公钥,我需要用它来验证数字签名。我不明白如何使用公钥初始化RSA。我的代码看起来像这样:unsignedchar*signature="";//signaturestringchar*original="";//myoriginalstringunsignedcharsha2HashDigest[SHA256_DIGEST_LENGTH];SHA256(original,strlen(original),sha2HashDigest);char*key="base64encodedKey";RSA*r=RSA_new();//SETRSApublickey?

php - 如何使用 Objective-C 在 iOS 上执行相同的加密/解密 PHP 函数?

我在PHP中有一个加密和解密字符串的函数:functionencrypt_decrypt($action,$string){$output=false;$key='mykeyhereblah';$iv=md5(md5($key));if($action=='encrypt'){$output=mcrypt_encrypt(MCRYPT_RIJNDAEL_256,md5($key),$string,MCRYPT_MODE_CBC,$iv);$output=base64_encode($output);}elseif($action=='decrypt'){$output=mcrypt_d

ios - iPhone 应用审查和 SHA1

我的iPhone应用程序使用SHA1通过即时消息协议(protocol)确保密码安全。当我将我的应用程序提交给Apple的审核流程时,是否需要声明我的应用程序“包含加密”? 最佳答案 如果您对该问题的回答是"is",它会询问您是否将其用于身份验证以外的任何用途。对于您的情况,您可以回答“否”并继续照常提交您的应用。 关于ios-iPhone应用审查和SHA1,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

android - phonegap 应用程序中的本地存储保护

我应该开发一个phonegap应用程序。我需要加密我对服务器端的请求,然后解密。HTTPS不是解决方案,因为我需要签署请求以确保数据不是伪造的。我可以使用任何异步加密(该应用程序将生成private/publickey并将公钥发送到服务器)。但是这样我需要将我的私钥保存在设备上。问题是:如何将私钥安全地保存在设备上?我可以使用sqlclipher(加密我的本地SQLiteDB)和integrate它进入我的phonegap应用程序。太好了,但在这里我必须保留数据库的key:)vardb=window.sqlitePlugin.openDatabase({name:"DB",key:"s

Java字符串加密

我正在为我的iPhone应用程序使用ObjectiveC中的加密类,但我正在努力从我的Android应用程序中获得在JAVA中运行的相同功能。我的加密代码如下:NSString*_secret=@"password";NSString*_key=@"1428324560542678";StringEncryption*crypto=[[StringEncryptionalloc]init];NSData*_secretData=[_secretdataUsingEncoding:NSUTF8StringEncoding];CCOptionspadding=kCCOptionPKCS7P

iOS 加密 AES128/CBC/nopadding 为什么不起作用?

我有一个应用程序需要使用AES/CBC/无填充对一些数据进行编码。该应用程序也移植到android上。编码是这样完成的:byte[]encodedKey=getKey();SecretKeySpecskeySpec=newSecretKeySpec(encodedKey,"AES");AlgorithmParameterSpecparamSpec=newIvParameterSpec(initializationVector);Ciphercipher=Cipher.getInstance("AES/CBC/NoPadding");cipher.init(Cipher.ENCRYPT_

objective-c - 用ios5加密的CCCrypt无法用ios6解密

我的cocos2d游戏使用CCCrypt()加密保存数据。我使用mac地址作为加密key。IOS5加密的存档文件在IOS6无法用相同的mac地址解密。这意味着更新游戏的用户将丢失所有数据!有什么方法可以解密旧文件吗?代码如下:@implementationNSData(AESAdditions)-(NSData*)AES256EncryptWithKey:(NSString*)key{//'key'shouldbe32bytesforAES256,willbenull-paddedotherwisecharkeyPtr[kCCKeySizeAES256+1];//roomforterm