本帖最后由 kanon 于 2015-4-23 15:05 编辑
先占个坑..吃完饭一会发
----------------------------------------------------------------
说道校验 那就想到md5啊 sha1啊等等校验
这玩意啊 大多数人啊 是没法写的 写了 同事也不敢用 用了啊 那绝壁是真爱啊
sha1库 http://www.tamale.net/sha1/
页面里的使用教程也贴出来了
那么接下来就可以开工了
[C++] 纯文本查看 复制代码 unsigned long file_size;
unsigned char *dexbuffer = CCFileUtils::sharedFileUtils()->getFileDataFromZip( getApkPath(), "classes.dex", &file_size);
char* str=(char*)dexbuffer;
SHA1* sha1 = new SHA1();
sha1->addBytes( str,file_size);
unsigned char* digest = sha1->getDigest();
CCLOG(" %s",this->hexPrinter( digest).c_str()); //输出16进制sha1值看看
delete sha1;
free( digest );
//注意啊 是,this->hexPrinter不是,sha1->hexPrinter 因为啊这个方法是自己写的 方法如下
std::string AppDelegate::hexPrinter( unsigned char* c ){
std::string str2;
int l=20;
assert( c );
while( l > 0 ){
str2+= CCString::createWithFormat("%02x",*c)->getCString();
l--;
c++;
}
return str2;
} //已经能得到16进制的sha1值了 比较我就不写了
//最后附上某大神博客 对sha1和md5源码做了很详细讲解
http://blog.csdn.net/fullsail/article/details/8607567
|