Skip to content

CatchZeng/CATSecurity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CATSecurity

iOS & Java (Android、Java Web...) encryption-decryption(AES,RSA,MD5) and coder-decoder(Base64).

code for iOS安全之路

##Usage

###MD5

    NSString* testSalt = @"1234567890";
    
    NSString* testString = @"123456";
    NSLog(@"testString:%@",testString);
    
    NSData* testData = [testString dataUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"testData:%@",testData);
    
    NSString* md5String = [CATSecurity md5StringWithData:testData];
    NSLog(@"md5StringWithData:%@",md5String);
    
    NSData* data = [CATSecurity md5DataWithData:testData];
    NSLog(@"md5DataWithData:%@",data);
    
    md5String = [CATSecurity md5StringWithString:testString];
    NSLog(@"md5StringWithString:%@",md5String);
    
    md5String = [CATSecurity md5StringWithString:testString salt:testSalt];
    NSLog(@"md5StringWithString:salt: :%@",md5String);
    
    md5String = [CATSecurity md5StringMultipleWithString:testString];
    NSLog(@"md5StringMultipleWithString:%@",md5String);
    
    md5String = [CATSecurity md5StringDisorderWithString:testString];
    NSLog(@"md5StringDisorderWithString:%@",md5String);

###Base64


    NSString* testString = @"123456";
    NSLog(@"testString:%@",testString);
    
    NSData* testData = [testString dataUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"testData:%@",testData);
    
    NSString* base64EncodedString = [CATSecurity base64EncodedStringWithData:testData];
    NSLog(@"base64EncodedStringWithData:%@",base64EncodedString);
    
    NSData* data = [CATSecurity dataWithBase64EncodedString:base64EncodedString];
    NSLog(@"dataWithBase64EncodedString:%@",data);
    
    base64EncodedString = [CATSecurity base64EncodedStringWithString:testString];
    NSLog(@"base64EncodedStringWithString:%@",base64EncodedString);
    
    NSString* str = [CATSecurity stringWithBase64EncodedString:base64EncodedString];
    NSLog(@"stringWithBase64EncodedString:%@",str);

###AES

    
    NSString* testKey = @"key1233215678987";
        
    NSString* testString = @"123456";
    NSLog(@"testString:%@",testString);
    
    NSData* testData = [testString dataUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"testData:%@",testData);
    
    NSData* data = [CATSecurity aes256EncryptWithData:testData key:testKey];
    NSLog(@"aes256EncryptWithData:key:%@",data);
    //将加密好的data base64编码后传给java
    NSString* base64EncodedString = [CATSecurity base64EncodedStringWithData:data];
    NSLog(@"base64EncodedStringWithData:%@",base64EncodedString);
    
    data = [CATSecurity aes256DecryptWithData:data key:testKey];
    NSLog(@"aes256DecryptWithData:key:%@",data);
    
    data = [CATSecurity aes256EncryptWithString:testString key:testKey];
    NSLog(@"aes256EncryptWithString:key:%@",data);
    //将加密好的data base64编码后传给java
    base64EncodedString = [CATSecurity base64EncodedStringWithData:data];
    NSLog(@"base64EncodedStringWithData:%@",base64EncodedString);
    
    NSString* str = [CATSecurity aes256DecryptStringWithData:data key:testKey];
    NSLog(@"aes256DecryptStringWithData:key:%@",str);

###RSA


    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 *originString = @"1233211233221133413hdwhfhefhierwjfiwoqjrefijqwerifjioqejwrf";
    
    NSLog(@"Original string(%d): %@", (int)originString.length, originString);
    
    NSString *encWithPubKey = [CATSecurity rsaEncryptString:originString publicKey:pubkey];
    NSLog(@"Enctypted with public key: %@", encWithPubKey);
    
    NSString * decWithPrivKey = [CATSecurity rsaDecryptString:encWithPubKey privateKey:privkey];
    NSLog(@"Decrypted with private key: %@", decWithPrivKey);

About

iOS & Java (Android、Java Web...) encryption-decryption(AES,RSA, MD5) and coder-decoder(Base64).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published