Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ideawu/Objective-C-RSA
Doing RSA encryption and decryption with Objective-C on iOS
https://github.com/ideawu/Objective-C-RSA
Last synced: 3 months ago
JSON representation
Doing RSA encryption and decryption with Objective-C on iOS
- Host: GitHub
- URL: https://github.com/ideawu/Objective-C-RSA
- Owner: ideawu
- License: other
- Created: 2015-02-03T04:54:57.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2021-06-25T09:38:01.000Z (over 3 years ago)
- Last Synced: 2024-06-24T01:40:53.088Z (5 months ago)
- Language: Objective-C
- Homepage: http://www.ideawu.com/blog/post/132.html
- Size: 42 KB
- Stars: 1,151
- Watchers: 40
- Forks: 279
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Objective-C-RSA
Doing RSA encryption with Objective-C iOS## If you have the same qustion as mine: [iOS Objective-C RSA encrypt with only public key and descrypt with PHP](http://www.ideawu.com/blog/post/132.html)
## Usage
#import "RSA.h"
NSString *pubkey = @"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDI2bvVLVYrb4B0raZgFP60VXY\ncvRmk9q56QiTmEm9HXlSPq1zyhyPQHGti5FokYJMzNcKm0bwL1q6ioJuD4EFI56D\na+70XdRz1CjQPQE3yXrXXVvOsmq9LsdxTFWsVBTehdCmrapKZVVx6PKl7myh0cfX\nQmyveT/eqyZK1gYjvQIDAQAB\n-----END PUBLIC KEY-----";
NSString *privkey = @"-----BEGIN PRIVATE KEY-----\nMIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMMjZu9UtVitvgHS\ntpmAU/rRVdhy9GaT2rnpCJOYSb0deVI+rXPKHI9Aca2LkWiRgkzM1wqbRvAvWrqK\ngm4PgQUjnoNr7vRd1HPUKNA9ATfJetddW86yar0ux3FMVaxUFN6F0KatqkplVXHo\n8qXubKHRx9dCbK95P96rJkrWBiO9AgMBAAECgYBO1UKEdYg9pxMX0XSLVtiWf3Na\n2jX6Ksk2Sfp5BhDkIcAdhcy09nXLOZGzNqsrv30QYcCOPGTQK5FPwx0mMYVBRAdo\nOLYp7NzxW/File//169O3ZFpkZ7MF0I2oQcNGTpMCUpaY6xMmxqN22INgi8SHp3w\nVU+2bRMLDXEc/MOmAQJBAP+Sv6JdkrY+7WGuQN5O5PjsB15lOGcr4vcfz4vAQ/uy\nEGYZh6IO2Eu0lW6sw2x6uRg0c6hMiFEJcO89qlH/B10CQQDDdtGrzXWVG457vA27\nkpduDpM6BQWTX6wYV9zRlcYYMFHwAQkE0BTvIYde2il6DKGyzokgI6zQyhgtRJ1x\nL6fhAkB9NvvW4/uWeLw7CHHVuVersZBmqjb5LWJU62v3L2rfbT1lmIqAVr+YT9CK\n2fAhPPtkpYYo5d4/vd1sCY1iAQ4tAkEAm2yPrJzjMn2G/ry57rzRzKGqUChOFrGs\nlm7HF6CQtAs4HC+2jC0peDyg97th37rLmPLB9txnPl50ewpkZuwOAQJBAM/eJnFw\nF5QAcL4CYDbfBKocx82VX/pFXng50T7FODiWbbL4UnxICE0UBFInNNiWJxNEb6jL\n5xd0pcy9O2DOeso=\n-----END PRIVATE KEY-----";
NSString *encrypted = [RSA encryptString:@"hello world!" publicKey:pubkey];
NSLog(@"encrypted: %@", encrypted);
NSString *decrypted = [RSA decryptString:encrypted privateKey:privkey];
NSLog(@"decrypted: %@", decrypted);__Notice: iOS 10 requires Keychain Entitlements__
### Important
Not thread-safe.
## History
### 2015-09-26
- New functions:
- `(NSString *)decryptString:(NSString *)str privateKey:(NSString *)privKey;`
- `(NSData *)decryptData:(NSData *)data privateKey:(NSString *)privKey;`## The PHP script for testing
See `encrypt.php` in the repository.
## Swift version
- [https://github.com/btnguyen2k/swift-rsautils](https://github.com/btnguyen2k/swift-rsautils)