之前无意中看到了TexturePacker 使用了XXTEA来加密图片资源。所以花了点时间来看了下XXTEA。
一般有两种加密算法:1.像md5,SHA1,等hash算法,是不可逆的。一般数据库存的username和password就用这个。
2.本文所提到的XXTEA算法,是可逆的,有个key能够加密。
安全方面的东西还蛮多的,说到key,还有什么public key, private key,我都还给老师了。忘光了。
可逆加密算法的需求还是比較广的,像加密游戏存档(发现还是无法防止内存改动),加密日志,加密图片等。
可逆加密算法我的要求比較简单:
1.足够安全,2.速度快,3.跨语言
对C语言还真是不熟悉,网上找了个C++和C#的代码,发现写的还不错。能够对随意字符串(包含中文),用字符串作为key加密。结果是经过base64变成了简单的字符串,这样能够比較方便处理。
int _tmain(int argc, _TCHAR* argv[]) { string painText = "hello world 啊"; char * temp =(char *) painText.c_str(); string key = "1234567890abcdef";//秘钥 cout<< "pain text:"<<painText<<endl; string result = xxtea_encrypt(painText,key);//加密 cout<<"encrypt result:" <<result<<endl; string result_1 = xxtea_decrypt(result,key);//解密 cout<< "decrypt result:" <<result_1<<endl; system("pause"); return 0; }
尝试去找了下java版本号,不知道为什么不兼容,以后再看。
资源是 http://my.csdn.net/jxjgssylsg 那下载的。
http://www.waitingfy.com/?attachment_id=1159
參考:
转载于:https://www.cnblogs.com/mengfanrong/p/4023998.html
相关资源:数据结构—成绩单生成器