{"id":21373897,"url":"https://github.com/WelkinXie/AESCipher-iOS","last_synced_at":"2025-07-13T08:31:19.842Z","repository":{"id":232101940,"uuid":"65569836","full_name":"WelkinXie/AESCipher-iOS","owner":"WelkinXie","description":"AES encryption working between Objective-C and Java.","archived":false,"fork":false,"pushed_at":"2018-01-07T07:13:23.000Z","size":85,"stargazers_count":213,"open_issues_count":2,"forks_count":69,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-22T08:38:17.262Z","etag":null,"topics":["aes","aes-encryption","aescipher-ios","aescipher-java","decryption","ios-java"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WelkinXie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-12T17:02:05.000Z","updated_at":"2024-08-09T07:53:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"f80fd424-d5c0-4297-93c5-25798bffc6e3","html_url":"https://github.com/WelkinXie/AESCipher-iOS","commit_stats":null,"previous_names":["welkinxie/aescipher-ios"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WelkinXie/AESCipher-iOS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WelkinXie%2FAESCipher-iOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WelkinXie%2FAESCipher-iOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WelkinXie%2FAESCipher-iOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WelkinXie%2FAESCipher-iOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WelkinXie","download_url":"https://codeload.github.com/WelkinXie/AESCipher-iOS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WelkinXie%2FAESCipher-iOS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265109709,"owners_count":23712742,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes","aes-encryption","aescipher-ios","aescipher-java","decryption","ios-java"],"created_at":"2024-11-22T08:29:34.772Z","updated_at":"2025-07-13T08:31:19.833Z","avatar_url":"https://github.com/WelkinXie.png","language":"Objective-C","readme":"# AESCipher-iOS\n\n### AES Encryption For Objective-C\n\nUsing this code for __iOS__ and [AESCipher-Java](https://github.com/WelkinXie/AESCipher-Java) for __Android__ and __Java back-end__ lets you encrypt and decrypt with AES accurately. Coding with C style is just for security.\n\nEncryption:\n\n```\n// For String \nNSString * aesEncryptString(NSString *content, NSString *key);\n// For Data\nNSData * aesEncryptData(NSData *data, NSData *key);\n```\n\nDecryption:\n\n```\n// For String \nNSString * aesDecryptString(NSString *content, NSString *key);\n// For Data\nNSData * aesDecryptData(NSData *data, NSData *key);\n```\n\n__Attention__ , this repo is based on __AES-128__ so you should use a __16-byte-key__ . If you want to use __AES-256__ , change __kKeySize__ to __kCCKeySizeAES256__ , and use 32 bytes' KEY.\n\nAdditionally you can modify the __kInitVector__ with another 16 bytes string in line 14 of __AESCipher.m__ , but you should make sure to keep it the same with __IV_STRING__ in line 23 of [AESCipher-Java](https://github.com/WelkinXie/AESCipher-Java).\n\n---\n\n### 用 Objective-C 实现的 AES 加密。\n\n与 [AESCipher-Java](https://github.com/WelkinXie/AESCipher-Java) 一并使用能达到 在iOS、Android、Java后台产生相同密文、正确解密成明文的目的。用 C 的风格来编写是为了提高些许安全性。\n\n加密方法：\n\n```\n// For String \nNSString * aesEncryptString(NSString *content, NSString *key);\n// For Data\nNSData * aesEncryptData(NSData *data, NSData *key);\n```\n\n解密方法：\n\n```\n// For String \nNSString * aesDecryptString(NSString *content, NSString *key);\n// For Data\nNSData * aesDecryptData(NSData *data, NSData *key);\n```\n\n__注意__ ，由于这个库是基于 __AES-128__ 的，因此请确保传入的 KEY 大小为 __16__ 字节。如果要使用 __AES-256__ ，修改 __kKeySize__ 为 __kCCKeySizeAES256__，然后提供 32 字节的 KEY 就可以了。\n\n另外你也可以将 __AESCipher.m__ 第 14 行中的 __kInitVector__ 修改为其他 16 字节的字符串，但请确保其与 [AESCipher-Java](https://github.com/WelkinXie/AESCipher-Java) 第 23 行处的 __IV_STRING__ 保持一致。\n\n#### 另附源码详解一份：\n\n[AES加密 - iOS与Java的同步实现](http://www.welkinx.com/2016/07/30/10/)","funding_links":[],"categories":["OOM-Leaks-Crash"],"sub_categories":["数据安全和算法"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWelkinXie%2FAESCipher-iOS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWelkinXie%2FAESCipher-iOS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWelkinXie%2FAESCipher-iOS/lists"}