Tag: encryption

是否有可能追溯IPA二进制文件中的string?

我的意思是如果我在代码中写一些东西: NSString *myKey = @"this is my private key"; 有人能够从IPA追溯string"this is my private key"吗? 我问这在iPhone的encryption。 如果我在代码中存储我的encryption密钥,它是否已经安全? 或者我该怎么做?

WhatsApp如何在iOS上encryption推送通知?

最近,WhatsApp为所有平台集成了用于端到端encryption的Signal协议 。 我和一个朋友一起试了一下,它说encryption被激活了。 在iOS 8closures应用程序并禁用后台任务的情况下,来自朋友的推送通知仍然显示消息。 问题: WhatsAppencryptionAPNS消息吗? 如果是,他们如何显示文字? iOS上是否有处理推送通知的方法? 提前致谢!

核心数据encryption

我有一个关于核心数据encryption的问题。 我在Core Data SQLite数据库中存储了一些敏感的用户数据。 临界值都是可变换的,我正在使用AES256对它们进行encryption和解密,包括每个值的个人IV。 encryption密钥是用户select的密码的SHA512散列。 迄今为止,这工作得很好。 现在关于用户密码。 当用户启动应用程序时,他被要求input密码。 密码正在用SHA512散列并存储在iOS钥匙串中。 对于每个写入或读取操作,NSValueTransformer将从钥匙串获取密码。 如果应用程序正在closures,我将从密钥链中删除密码哈希。 在我的核心数据库中,我有一个特殊的实体,它有一个随机数!= 0,因为它只是一个值。 为了testing用户是否input了正确的密码,我获取这个实体并读取数字。 如果是=! 0,我知道密码是正确的,因为当解密失败NSValueTransformer总是返回0。 现在我的实际问题:你认为这是一个很好的encryption方法? 如果input的密码是正确的,你还会怎么testing? 我有点担心在应用程序运行时将密码哈希存储在钥匙串中会使得一切都变慢,因为NSValueTransformer必须始终访问钥匙串。 将密码散列保存在内存中是否足够安全,所以应用程序closures时会被删除?

椭圆曲线encryption在iOS中

我正在尝试将ECC整合到用于安全通信的iPhone应用程序中,但是我很难find一个合适的库/教程来介绍如何在objective-c中执行此操作。 我读了这篇文章: 如何在iOS中使用ECC但是大概在一年前发布,没有任何回应。 任何提示/build议将不胜感激 谢谢!

iOS中的PBEWithMD5AndDESencryption

我在iOS中遇到PBEWithMD5AndDESencryption问题。 我有我的string使用此encryption和解密, https://gist.github.com/788840/24bc73ecd0ac3134cbd242892c74a06ac561d37b 。 问题是我得到不同的encryption值取决于我的方法在哪个类。例如,我将所有的encryption方法移动到一个帮助类,并运行它。 我注意到我得到了一个不同的encryption值。 我现在在不同的类中有相同的方法的两个相同的版本,我并排运行它们。 他们获得不同的encryption值,而且不能解密其他人的值。 我有点沉迷于此。 这是encryption/解密的助手类。 @implementation CryptoHelper #pragma mark – #pragma mark Init Methods – (id)init { if(self = [super init]) { } return self; } #pragma mark – #pragma mark String Specific Methods /** * Encrypts a string for social blast service. * * @param plainString The string to […]

iOSencryptionAES128 / CBC / nopadding为什么不能正常工作?

我有一个应用程序,需要使用AES / CBC /无填充编码一些数据。 该应用程序也在Android上移植。 那里的编码是这样做的: byte[] encodedKey = getKey(); SecretKeySpec skeySpec = new SecretKeySpec(encodedKey, "AES"); AlgorithmParameterSpec paramSpec = new IvParameterSpec(initializationVector); Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); cipher.init(Cipher.ENCRYPT_MODE, skeySpec, paramSpec); int blockSize = cipher.getBlockSize(); int diffSize = decrypted.length % blockSize; System.out.println("Cipher size: " + blockSize); System.out.println("Current size: " + decrypted.length); if (diffSize != 0) { diffSize = […]

使用iOS中的Core Data进行数据encryption

我只需要确认一下。 对于iPhone 3GS及以上版本,写入文件系统的任何数据都使用硬件encryption进行encryption,是否正确? 通过简单地在文件系统上创buildXXX.sqlite文件,存储在其中的数据已经被encryption。 也为了进一步的安全NSFileProtectionComplete提供? 谢谢。

Swift(iOS)和PHP中AES256encryption的结果不同

我在AES256工作,能够使用不安全的通道在iOS和PHP之间进行encryption/解密。 我看到很多类似的问题,围绕关键尺寸,模式(CBC或ECB),使用随机四等。但在这种情况下,我发现了一个奇怪的行为如下。 在这两种环境中configuration: – 密钥:32字节(256位) – 块大小:128位(标准) – iv:16字节(用于testing的静态) – 模式:CBC 如果我encryption一个16或32字节的文本(以匹配AES块大小),结果在Swift和PHP是相似的,但不完全相同: key =“12345678901234567890123456789012”plainText =“12345678901234567890123456789012”iv =“1234567890123456” Swift cipher = e5RnnlJkv4QGnGhkMwfvgMHr80NWUVhbvvfCdPQ5V2KyKJTx4KfWmn4HXi4dG0b8 PHP cipher = e5RnnlJkv4QGnGhkMwfvgMHr80NWUVhbvvfCdPQ5V2I = 如您所见,密码长度和PHP Base64string的最后两个字符有所不同。 但是,如果我使用不是AES128块大小乘数的文本,让我们说“Hello World”,则漫游器环境报告以下不同(但相同大小)的密码 Swift cipher = bdwO / 5C8a + pliIoIXtuzfA == PHP密码= oPotHCkxpOwQhIaCz6hNMw == 在这两种情况下(Swift和PHP),无论明文大小如何,密码都是正确解密的。 另外,Swift结果与代码的Objective-C版本一致 附上使用的简化代码: PHP $key = "12345678901234567890123456789012"; $iv = "1234567890123456"; $plaintext = "Hello World"; […]

Xcode:隐藏/保护最终的iOS应用程序中的资源文件?

我打算为iOS开发一个应用程序,并希望使用HTML5,CSS和Javascript。 最终的应用程序应该使用Xcode和UIWebView作为本地应用程序来实现。 我可以隐藏或保护我的HTML文件在最终的应用程序? 我必须将这些文件放在Xcode中名为“支持文件”的文件夹中。 因此,每个人都可以通过提取.ipa文件来购买应用程序后查看纯文件,对吧?

Javastringencryption

我正在使用目标C中的encryption类为我的iPhone应用程序,但我努力从我的Android应用程序获得相同的function在JAVA工作。 我的encryption代码如下: NSString * _secret = @"password"; NSString * _key = @"1428324560542678"; StringEncryption *crypto = [[StringEncryption alloc] init]; NSData *_secretData = [_secret dataUsingEncoding:NSUTF8StringEncoding]; CCOptions padding = kCCOptionPKCS7Padding; NSData *encryptedData = [crypto encrypt:_secretData key:[_key dataUsingEncoding:NSUTF8StringEncoding] padding:&padding]; 我试图在JAVA中复制它,但是当我编码相同的数据时,我得到了一个不同的string。 所以我做错了,但我不明白。 这是我的JAVA代码: byte[] key = "1428324560542678".getBytes(); Cipher c = null; try { c = Cipher.getInstance("AES/ECB/PKCS7Padding"); } catch (NoSuchAlgorithmException e) […]