Giter Site home page Giter Site logo

catsecurity's Introduction

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);

catsecurity's People

Contributors

catchzeng avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.