zoukankan      html  css  js  c++  java
  • iOS8.1 下使用OpenSSL

    一、下载openssl源码,编译成可调用的库

          为了省去大家的麻烦,特提供现成的openssl库给大家:http://pan.baidu.com/s/1hqpbKpA

      解压,可以看到include文件夹和libcrypto.a 、libssl.a两个文件。

    二、新建项目OpenSSL

          将include文件夹拷贝到项目根目录,

          将libcrypto.a 和 libssl.a拷贝到项目根目录

          在项目中添加以上文件。

        最终的项目结构如下:

           

    三、设置“Header Search Paths” 的值为/Users/huangzhiming/Desktop/work/OpenSSL/OpenSSL/include

          设置“Valid Architectures” 的值为 armv7/armv7s

    四、编写代码。 

      #import <UIKit/UIKit.h>

      #import <openssl/md5.h>

      void Md5( NSString *);

      int main( int argc, char *argv[]) {

          NSAutoreleasePool * pool = [[ NSAutoreleasePool alloc ] init ];

        Md5 ( @"12345" );

          int retVal = UIApplicationMain (argc, argv, nil , nil );

          [pool release ];

          return retVal;

      }

      void Md5( NSString * string){

        // 输入参数 1 :要生成 md5 值的字符串, NSString-->uchar*

          unsigned char *inStrg = ( unsigned char *)[[string dataUsingEncoding :NSASCIIStringEncoding ] bytes];

          // 输入参数 2 :字符串长度

        unsigned long lngth = [string length ];

        // 输出参数 3 :要返回的 md5 值, MD5_DIGEST_LENGTH 为 16bytes , 128 bits

        unsigned char result[ MD5_DIGEST_LENGTH ];

        // 临时 NSString 变量,用于把 uchar* 组装成可以显示的字符串: 2 个字符一 byte 的 16 进制数

        NSMutableString *outStrg = [ NSMutableString string ];

        // 调用 OpenSSL 函数

             MD5 (inStrg, lngth, result);

           unsigned int i;

             for (i = 0; i < MD5_DIGEST_LENGTH ; i++)

          {

              [outStrg appendFormat : @"%02x" , result[i]];

          }

       NSLog ( @"input string:%@" ,string);

         NSLog ( @"md5:%@" ,outStrg);

    }

    运行,可以看到输出如下:

    input string:12345

    md5:827ccb0eea8a706c4c34a16891f84e7b

  • 相关阅读:
    cond
    示例:字串代换
    char char=
    (1+ val)
    UNIX通用系统变量和shell命令行参数(转)
    为python安装numpy和scipy(federo)
    浅谈HTTP中Get与Post的区别(转)
    JSON学习笔记
    javascript 实现圆角,兼容ie
    Dangling pointers and Wild pointers
  • 原文地址:https://www.cnblogs.com/zhimingcow/p/4309244.html
Copyright © 2011-2022 走看看