編輯:Android開發教程
先前一直在做安卓,最近要開發iPhone客戶端,這其中遇到的最讓人糾結的要屬Java、Android和iPhone三 個平台加解密不一致的問題。因為手機端後台通常是用JAVA開發的Web Service,Android和iPhone客戶端調用 同樣的Web Service接口,為了數據安全考慮,要對數據進行加密。頭疼的問題就來了,很難編寫出一套加密 程序,在3個平台間加解密的結果一致,總不能為Android和iPhone兩個客戶端各寫一套Web Service接口吧? 我相信還會有很多朋友為此困惑,在此分享一套3DES加密程序,能夠實現Java、Android和iPhone三個平台加 解密一致。
首先是JAVA端的加密工具類,它同樣適用於Android端,無需任何修改,即可保證Java與 Android端的加解密一致,並且中文不會亂碼。
package org.liuyq.des3; import java.security.Key; import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESedeKeySpec; import javax.crypto.spec.IvParameterSpec; /** * 3DES加密工具類 * * @author liufeng * @date 2012-10-11 */ public class Des3 { // 密鑰 private final static String secretKey = "liuyunqiang@lx100$#365#$"; // 向量 private final static String iv = "01234567"; // 加解密統一使用的編碼方式 private final static String encoding = "utf-8"; /** * 3DES加密 * * @param plainText 普通文本 * @return * @throws Exception */ public static String encode(String plainText) throws Exception { Key deskey = null; DESedeKeySpec spec = new DESedeKeySpec(secretKey.getBytes()); SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede"); deskey = keyfactory.generateSecret(spec); Cipher cipher = Cipher.getInstance("desede/CBC/PKCS5Padding"); IvParameterSpec ips = new IvParameterSpec(iv.getBytes()); cipher.init(Cipher.ENCRYPT_MODE, deskey, ips); byte[] encryptData = cipher.doFinal(plainText.getBytes(encoding)); return Base64.encode(encryptData); } /** * 3DES解密 * * @param encryptText 加密文本 * @return * @throws Exception */ public static String decode(String encryptText) throws Exception { Key deskey = null; DESedeKeySpec spec = new DESedeKeySpec(secretKey.getBytes()); SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede"); deskey = keyfactory.generateSecret(spec); Cipher cipher = Cipher.getInstance("desede/CBC/PKCS5Padding"); IvParameterSpec ips = new IvParameterSpec(iv.getBytes()); cipher.init(Cipher.DECRYPT_MODE, deskey, ips); byte[] decryptData = cipher.doFinal(Base64.decode(encryptText)); return new String(decryptData, encoding); } }
前言網上ListView上下拖動的例子有,效果也很好,但是項目要橫著拖的,只要硬著頭皮自己寫(主要是沒找到合適的),參考文章1修改而來,分享一下。截圖代碼javapubl
隨著大屏手機、Pad等移動設備成為標配,手機看視頻已經成為多數人的選擇,但對於愛折騰一族來說,這還遠遠不夠。3月25日,喜歡給用戶制造驚喜的搜狗手機浏覽器推出了最新的An
博主在大學裡學的專業就是軟件開發與游戲設計,所以對於游戲這個行業一直都有著濃厚的興趣,卻因為 陰差陽錯,又或許是緣分不夠吧。一直都沒有真正的進入到這個行業裡來,但對於游戲
使用一個例子,來總結一下ListView的基本使用。1. 新建一個工程:ListViewDemo。2. main.xml中的代碼。<?xml version=&qu