Tag: encryption

如何对swift XCODE上的string进行AES 128encryption并将其作为POST发送给服务器?

如何在swift XCODE上对string进行AES 128encryption,并将其作为POST发送到服务器?…我是XCODE的新手,正在学习对string数据进行encryption并希望发送到HTTP服务器。 这是一个基本的iOS应用程序发送设备的经度和纬度。

CryptoJs Encryption在android中不起作用

我必须在Android应用程序中实现encryption。 网页开发人员正在使用CryptoJs库。 意味着encryptionalgorithm是AES256encryption。 iOS和Android平台都给出了不同的string,iOS上的一个接受了web.Itstring应该是一样的。 我正在使用下面的代码片段(有2个不同的function): private void newEnc() { String secret = "LSC@SD2017@ps"; String cipherText = "{\"device_type\":\"iOS\",\"email\" : \"jhon@gmail.com\",\"device_id\" : \"14105DA4-CEE5-431E-96A2-2331CDA7F062\",\"password\" : \"123456\",\"device_token\" : \"B44777563552882EC3139A0317E401B55D6FC699D0AC3D279F392927CAF9B566\"}"; KeyGenerator kgen = null; try { kgen = KeyGenerator.getInstance("AES"); SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); sr.setSeed(secret.getBytes("UTF8")); kgen.init(256, sr); SecretKey skey = kgen.generateKey(); Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding"); SecretKeySpec skeySpec = new SecretKeySpec(skey.getEncoded(), "AES"); […]

在iOS中播放encryption的mp3

我有一个encryption的MP3文件,我需要在iOS中播放; 由于安全原因,我无法将文件解密到磁盘,并且由于内存限制,我可能无法将其解密到内存。 有没有办法直接播放encryption文件,或将其stream式播放到播放器而不将其全部加载到内存中? 我真的对此感到茫然,我甚至不知道从哪里开始……我正在使用AVAudioPlayer播放文件,但我猜测它不够灵活,无法做到我想要的。

AES解密使用ObjectiveC

我使用下面的代码来解密encryption的文件,使用JAVA应用程序对文件进行encryption。 Cipher.h文件 #import <Foundation/Foundation.h> #import <CommonCrypto/CommonCryptor.h> #import <CommonCrypto/CommonDigest.h> @interface Cipher : NSObject { NSString *cipherKey; } @property (retain) NSString *cipherKey; – (Cipher *) initWithKey:(NSString *) key; – (NSData *) encrypt:(NSData *) plainText; – (NSData *) decrypt:(NSData *) cipherText; – (NSData *) transform:(CCOperation) encryptOrDecrypt data:(NSData *) inputData; + (NSData *) md5:(NSString *) stringToHash; @end Cipher.m文件 #import […]

如何在iOS Swift 3中encryptionAES 256 CBC,如larvel encrypt()方法

我想在iOS Swift 3中进行Laravel encryption 。 Crypt::encrypt('123456'); 我尝试了这样的东西,但它不适用。 我认为这个代码有些问题: func generateRandomBytes() -> String? { var keyData = Data(count: 10) let result = keyData.withUnsafeMutableBytes { (mutableBytes: UnsafeMutablePointer<UInt8>) -> Int32 in SecRandomCopyBytes(kSecRandomDefault, keyData.count, mutableBytes) } if result == errSecSuccess { return keyData.base64EncodedString() } else { print("Problem generating random bytes") return nil } } override func viewDidLoad() { super.viewDidLoad() […]

在目标C中解密AES-256-CBC

我正在构build一个iPhone应用程序,从PHP后端通过JSON获取解密的string。 在PHP中,我正在像这样encryptionstring: $encrypt_method = "AES-256-CBC"; $secret_key = 'This is my secret key'; $secret_iv = 'This is my secret iv'; // hash $key = hash('sha256', $secret_key); // iv – encrypt method AES-256-CBC expects 16 bytes – else you will get a warning $iv = substr(hash('sha256', $secret_iv), 0, 16); if( $action == 'encrypt' ) { $output = […]

在iOS上使用RNCryptorasynchronous解密大文件

我需要iOS上的RNCryptorasynchronous解密大文件(以显示进度条)。 我没有发现任何地方的例子,因此已经尝试了我所猜测的是正确的,但是…我得到的东西不起作用:解密程序的处理程序不会被调用,并且线程在发送所有数据后与EXC_BAD_ADDRESS一起崩溃在函数的结尾。 NSOutputStream *decryptedStream = [NSOutputStream outputStreamToFileAtPath:decryptedPath append:NO]; [decryptedStream open]; NSUInteger totalBytesToRead = [[[NSFileManager defaultManager] attributesOfItemAtPath:tempPath error:nil] fileSize]; __block NSUInteger totalBytesRead = 0; LOG("I've got %d bytes to decrypt.", totalBytesToRead); RNDecryptor *decryptor = [[RNDecryptor alloc] initWithPassword:SNCatalogPassword handler:^(RNCryptor *cryptor, NSData *data) { totalBytesRead += data.length; [decryptedStream write:data.bytes maxLength:data.length]; LOG("Decrypted %d bytes : %d / %d bytes […]

在iOS中使用X.509 2048位公钥encryption

在我的iOS库中,我有一个包含X.509 RSA 2048位公钥的Base64编码的string。 我想用这个公钥encryption一个string。 任何人都可以提供一些目标C代码参考,提到我需要包括的库? 等效的Java代码如下所示: byte[] keyBytes = Base64.decodeBase64(publicKeyData); // Get Public Key X509EncodedKeySpec rsaPublicKeySpec = new X509EncodedKeySpec(keyBytes); KeyFactory fact = KeyFactory.getInstance("RSA"); PublicKey publicKey = fact.generatePublic(rsaPublicKeySpec); Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(Cipher.ENCRYPT_MODE, pubKey); encryptedData = cipher.doFinal(dataToEncrypt);

保护移动连接 – 存储秘密和密钥

感谢您花时间阅读本文,我是一个年轻的开发人员,在Web项目和服务器端编码方面有一些专业经验,但我现在正在构build我的第一个移动应用程序,经过深入的研究,我没有能够澄清一些关于保护移动应用程序数据传输的问题。 以下是我认为我正确理解的内容:通过实施SSL证书(以及可选的SSL客户端lockingfunction),可以在很大程度上防止在开放networking上嗅探用户信息,以及模拟其他用户(Man-in-中等等)。 任何进一步的安全层旨在保护服务器,并防止有人获得您的交易结构和细节的见解。 进一步的安全层包括消息authentication(例如HMAC)在处理消息之前对消息进行authentication,以及encryption以“隐藏”消息的内容。 我想实施一个encryption然后HMAC进程来进一步确保交易,这是我的问题,关于这个过程: 你如何存储在客户端上的密钥/秘密? 我意识到这将取决于具体的应用程序,以及它希望达到的安全程度。 由于这个原因,我包括一些细节:没有关于用户存储或转移(SSN,银行等)的高度敏感的信息,但应用程序处理付款,因此如果有人开始搞乱服务器,可能会导致高成本和支付系统。 因此,我希望实现客户端和服务器之间的安全传输,而不是做一些不寻常或不相称的事情。 我已经阅读了很多关于这个主题的内容,并且从我可以收集的内容中了解到,不pipe从哪个方式获得密钥或秘密,在某些时候它将以明文方式呈现给encryption/散列逻辑,因此有人将能够进行debugging应用程序,断点,步骤和妥协的关键/秘密。 你怎么解决这个问题? 什么会被认为是“合适的”(硬编码?来自表结构或其他元素?其他?)。 这个问题真的是高层次和概念性的,所以我不认为这是我讨论的平台,但是无论如何,现在我编写iOS应用程序,而后端是.NET 非常感谢您的时间,任何帮助或见解将不胜感激。 如果我能澄清应用程序的任何方面,我会很乐意这样做。 最好的,米歇尔

iPhone和服务器上的3DESencryption不同

我有以下代码来encryption我发送到我的服务器的请求。 在服务器上的解码是由.NET完成的,在iPhone上,我正在使用下面的代码安全框架。 – (NSString*) doCipher:(NSString*)plainText:(CCOperation)encryptOrDecrypt { const void *vplainText; size_t plainTextBufferSize; if (encryptOrDecrypt == kCCDecrypt) { NSData *EncryptData = [[NSData alloc] initWithBase64EncodedString:plainText]; plainTextBufferSize = [EncryptData length]; vplainText = [EncryptData bytes]; } else { plainTextBufferSize = [plainText length]; vplainText = (const void *) [plainText UTF8String]; } CCCryptorStatus ccStatus; uint8_t *bufferPtr = NULL; size_t bufferPtrSize = 0; […]