zoukankan      html  css  js  c++  java
  • 【原】就IOS发布app时如何保护文本资源的一个方法

    近期的一个app是本地的,数据源来自于本地的一个.json文件,里面的数据是这个app的灵魂。近期快发布该app了,很担心发布后的.ipa包被竞争者解开然后信息发生泄漏。我的处理策略是:打包的时候放的是一个字符串加密过的json文件,就算别人打开也是乱码。在程序加载时就对该文件进行解码,在沙盒里面生成一个解码后的json文件,在程序退出时删除该临时文件。这样可以保证在不影响现有代码的情况下在一定程度上保护数据。电脑出了点故障,随手用C++在windows下实现了一番,文件先用txt,加密算法先用简单的ascii移位。真正要用的时候同理,加密算法可以用其他优秀的加密算法:

    #include "stdafx.h"
    #include <iostream>
    #include <fstream>
    #include <string>
    
    using namespace  std;
    
    #define KEY 1
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	string oneLineStr;
    	ifstream inf;
    	inf.open("ReadMe.txt");
    	ofstream outf;
    	outf.open("encode.txt");
    	ofstream outf_recovery;
    	outf_recovery.open("recovery.txt");
    
    	while (getline(inf, oneLineStr))
    	{
    		cout<<"加密前:"<<oneLineStr<<endl;
    		size_t length = oneLineStr.size();
    		for (size_t i = 0; i < length; i++)
    		{
    			oneLineStr[i] = (char)(oneLineStr[i] + KEY);//ascii码改变
    		}
    		cout<<"该行加密后:"<<oneLineStr<<endl;
    		outf<<oneLineStr<<endl;
    	}
    	outf.close();
    	inf.clear();
    	cout<<"开始恢复文件============================";
    	ifstream inf_encode;
    	inf_encode.open("encode.txt");
    	while (getline(inf_encode, oneLineStr))
    	{
    		size_t length = oneLineStr.size();
    		for (size_t i = 0; i < length; i++)
    		{
    			oneLineStr[i] = (char)(oneLineStr[i] - KEY);//ascii码改变
    		}
    		cout<<"解密后:"<<oneLineStr<<endl;
    		outf_recovery<<oneLineStr<<endl;
    	}
    
    	inf.close();
    	inf_encode.close();
    	outf_recovery.close();
    	
    	int tmp = 0;
    	cin>>tmp;
    	
    	return 0;
    }
    

     当然,这种方法有个缺陷,对于非常大的文本文件可能会有点耗时,但是正常情况下几乎感觉不出来。不知道还有没有其他更好的方式保护APP包内的文本以及图片资源呢

  • 相关阅读:
    应用Druid监控SQL语句的执行情况
    J2EE应用监控后台执行SQL
    maven环境搭建
    【机器学习】Sklearn库主成分分析PCA降维的运用实战
    PCA降维算法
    80行Python实现-HOG梯度特征提取(转载)
    HOG特征提取算法原理(转载)
    数据预处理方法 总结
    【AI换脸】Faceswap源代码换脸软件安装指南(转)
    人工智能领域的会议和期刊(转载)
  • 原文地址:https://www.cnblogs.com/wengzilin/p/3721713.html
Copyright © 2011-2022 走看看