多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > 數(shù)據(jù)加密與保存

數(shù)據(jù)加密與保存

來源:程序員人生   發(fā)布時間:2015-03-20 09:19:48 閱讀次數(shù):2532次


//--------------------------------------------------------------------- // 1、加密算法: //--------------------------------------------------------------------- //加密或解密字符串,change加密、-change解密 public static String Encryption(String str, int change) { short sign = 1; if(change<0){ sign = ⑴; change *= ⑴; } int num = 0; int tmp; byte[] bytes = str.getBytes(); for(int i = 0; i < bytes.length; i++) { if(num == 0) num = change; //限定在[0,127]之間 tmp = bytes[i] + sign * (num % 3); if(tmp > 127) tmp -= 127; if(tmp < 0) tmp += 127; bytes[i] = (byte)tmp; num /= 3; } str = new String(bytes); return new String(bytes); }

//--------------------------------------------------------------------- // 2、將數(shù)據(jù)保存到 LocalDB //--------------------------------------------------------------------- //保存加密串到LocalDB中 if(key == "Name1") { String data = "abcdefghijklmnopq..."; String info = Encryption(data, 7733171); //加密串 LocalDB.setString("Name1", info); //保存到LocalDB } //從LocalDB中,獲得保存的數(shù)據(jù) if(LocalDB.$string.containsKey("Name1")) { String info = LocalDB.$string.get("Name1"); //獲得數(shù)據(jù) info = Encryption(value, ⑺733171); //解密串 }

//=========================================================================================================== // 3、保存數(shù)據(jù)到文件 //=========================================================================================================== //類LocalDB.java import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.HashMap; import android.os.Environment; /** * 此類功能 * 1、保存數(shù)據(jù)到HashMap對象中 * 2、保存HashMap對象數(shù)據(jù)到文件 */ public class LocalDB { private static String fileName = "LocalDB.txt"; //用于保存數(shù)據(jù)的文件名 public static HashMap<String, Object> $object; public static HashMap<String, Integer> $int; public static HashMap<String, Float> $float; public static HashMap<String, String> $string; public static HashMap<String, Double> $double; public static HashMap<String, Long> $long; public static HashMap<String, Byte> $byte; public static HashMap<String, Short> $short; public static HashMap<String, Boolean> $boolean; // 使用HashMap的靜態(tài)對象,在程序中臨時保存數(shù)據(jù) // private static HashMap<String, Type> $type; //創(chuàng)建HashMap對象 // HashMap用法以下: // $type.put(String key, Type value) //存儲Type類型數(shù)據(jù)到$type,索引標(biāo)識key 存儲 // $type.get(Object key) //從$type中獲得索引標(biāo)識key的數(shù)據(jù) 獲得 // $type.containsKey(Object key) //判斷$type中是不是含有索引標(biāo)識key 判斷 // $type.remove(Object key) //將索引標(biāo)識key對應(yīng)的數(shù)據(jù)從$type中移除 移除 /** * 保存所有對象的數(shù)據(jù),到文件fileName中 -保存 */ public static void save() { try { //有SD卡 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File file; FileOutputStream f; try { //取得SD卡路徑 String pathString = Environment.getExternalStorageDirectory().getPath(); file = new File(pathString+"/"+ fileName); if(file.exists())file.createNewFile(); //若文件不存在,則新建 f = new FileOutputStream(file, false); //創(chuàng)建1個文件輸出流,true表示在文件末尾添加, false覆蓋 } catch (Exception e) { return; } ObjectOutputStream o = new ObjectOutputStream(f); o.writeObject($object); o.writeObject($int); o.writeObject($byte); o.writeObject($float); o.writeObject($double); o.writeObject($string); o.writeObject($long); o.writeObject($boolean); o.writeObject($short); o.flush(); f.flush(); o.close(); f.close(); } } catch (Exception e) { e.printStackTrace(); } } /** * 從文件fileName中,獲得保存的數(shù)據(jù)到靜態(tài)對象中 -載入 */ @SuppressWarnings("unchecked") public static void Load() { try { //取得SD卡路徑 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File file =null; FileInputStream f=null; try { String pathString = Environment.getExternalStorageDirectory().getPath(); file = new File(pathString+"/"+ fileName); if(file.exists()) file.createNewFile(); //若文件不存在,則新建 f = new FileInputStream(file); //從文件創(chuàng)建1個輸入流 } catch (Exception e) { return; } try { ObjectInputStream o = new ObjectInputStream(f); $object = (HashMap<String, Object>) o.readObject(); $int = (HashMap<String, Integer>) o.readObject(); $byte = (HashMap<String, Byte>) o.readObject(); $float = (HashMap<String, Float>) o.readObject(); $double = (HashMap<String, Double>) o.readObject(); $string = (HashMap<String, String>) o.readObject(); $long = (HashMap<String, Long>) o.readObject(); $boolean = (HashMap<String, Boolean>) o.readObject(); $short = (HashMap<String, Short>) o.readObject(); o.close(); f.close(); } catch (Exception e) { $object = new HashMap<String, Object>(); $float = new HashMap<String, Float>(); $int = new HashMap<String, Integer>(); $string = new HashMap<String, String>(); $double = new HashMap<String, Double>(); $long = new HashMap<String, Long>(); $byte = new HashMap<String, Byte>(); $short = new HashMap<String, Short>(); $boolean = new HashMap<String, Boolean>(); f.close(); } } } catch (Exception e) { e.printStackTrace(); } } }


2、拓展

//--------------------------------------------------------------- // 1、 // boolean數(shù)組數(shù)據(jù)轉(zhuǎn)換為字符串,加密存儲 //--------------------------------------------------------------- //加密flag為字符串 public static String setBooleans(boolean flag[][], int change) { String rewardInfo = ""; for(int i = 0; i < flag.length; i++) { for(int j = 0; j < flag[i].length; j++) { rewardInfo += (flag[i][j] ? "1" : "0") + (j == flag[i].length⑴ ? "" : ","); } rewardInfo += (i == flag.length⑴ ? "" : ";"); } String reward = DataEncryption.Encryption(rewardInfo, change); //加密串 return reward; }

//--------------------------------------------------------------------- // 2、將數(shù)據(jù)保存到 LocalDB //--------------------------------------------------------------------- //從LocalDB中,獲得保存的數(shù)據(jù) if(LocalDB.$string.containsKey("Name1")) { String info = LocalDB.$string.get("Name1"); boolean flag[][] = getBooleans(info, 7733171); //解密為布爾數(shù)組 for(int i=0; i< flag.length; i++) Treasure_box_form.flag[i] = flag[i]; //復(fù)制已有數(shù)據(jù) } //保存加密串到LocalDB中 if(key == "Name1") { String reward = DataEncryption.$string.set(Treasure_box_form.flag, 7733171); //加密為字符串 LocalDB.setString("Name1", reward); }





生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美一级毛片一 | 国产精品综合一区二区三区 | 亚洲精品一区二区三区中文字幕 | 国产h视频在线观看 | 日本人与亚洲人hd | 欧美色图一区二区 | 国产精品免费综合一区视频 | 武则天全黄肉体毛片免费看 | 日韩欧美成人乱码一在线 | 国产免费一区二区三区在线 | 自怕偷自怕亚洲精品 | 日本a毛片| 免费观看黄色的网站 | 一级黄色欧美 | 性欧美16sex性高清播放 | 日韩性大片免费 | 日本一区二区三区有限公司 | 亚洲高清在线 | 精品国产区 | 国产亚洲精品久久久久久无 | 羞羞视频免费观看入口 | 欧美一级成人一区二区三区 | 中文字幕在线资源 | 亚洲国产精品aaa一区 | 美日韩在线 | 欧美亚洲偷图色综合91 | 日本1区| 亚洲日本一区二区三区 | 欧美激情免费a视频 | 精品国产一区二区三区久久 | 免费羞羞网站 | 国产免费看网站v片不遮挡 国产免费全部免费观看 | 老女人一级全黄肉体毛片 | 亚洲色图 欧美 | 波多久久夜色精品国产 | 黄色免费在线网址 | 在线亚洲播放 | 欧美精品aaa久久久影院 | 欧美精品18videosex巨大 | 精品久久久99大香线蕉 | 午夜影院在线看 |