当前位置:  编程技术>移动开发
本页文章导读:
    ▪简略加密        简单加密 此篇文章是引用的,因为前几天别人问我关于md5加密的我不是很懂,今天幸好看见这篇文章希望对他有用 package net.sf.andhsli.hotspotlogin; import java.security.SecureRandom; import javax.crypto.Cipher;.........
    ▪ 下令签名        命令签名 java -jar D:\eclipse\plugins\net.rim.ejde\signTool\SignatureTool.jar-p password -C -a *.cod ......
    ▪ 弹出sub View在目前窗口       弹出sub View在当前窗口 其实呢就是想做一个和输入法弹出差不多的效果 <RelativeLayout   android:layout_width="fill_parent"   android:layout_height="fill_parent"   >    <ListView     android:id="@android:id/.........

[1]简略加密
    来源: 互联网  发布时间: 2014-02-18
简单加密

此篇文章是引用的,因为前几天别人问我关于md5加密的我不是很懂,今天幸好看见这篇文章希望对他有用

package net.sf.andhsli.hotspotlogin;

import java.security.SecureRandom;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;

/**
 * Usage:
 * <pre>
 * String crypto = SimpleCrypto.encrypt(masterpassword, cleartext)
 * ...
 * String cleartext = SimpleCrypto.decrypt(masterpassword, crypto)
 * </pre>
 * @author ferenc.hechler
 */
public class SimpleCrypto {

 public static String encrypt(String seed, String cleartext) throws Exception {
  byte[] rawKey = getRawKey(seed.getBytes());
  byte[] result = encrypt(rawKey, cleartext.getBytes());
  return toHex(result);
 }
 
 public static String decrypt(String seed, String encrypted) throws Exception {
  byte[] rawKey = getRawKey(seed.getBytes());
  byte[] enc = toByte(encrypted);
  byte[] result = decrypt(rawKey, enc);
  return new String(result);
 }

 private static byte[] getRawKey(byte[] seed) throws Exception {
  KeyGenerator kgen = KeyGenerator.getInstance("AES");
  SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
  sr.setSeed(seed);
     kgen.init(128, sr); // 192 and 256 bits may not be available
     SecretKey skey = kgen.generateKey();
     byte[] raw = skey.getEncoded();
     return raw;
 }

 
 private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception {
     SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
  Cipher cipher = Cipher.getInstance("AES");
     cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
     byte[] encrypted = cipher.doFinal(clear);
  return encrypted;
 }

 private static byte[] decrypt(byte[] raw, byte[] encrypted) throws Exception {
     SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
  Cipher cipher = Cipher.getInstance("AES");
     cipher.init(Cipher.DECRYPT_MODE, skeySpec);
     byte[] decrypted = cipher.doFinal(encrypted);
  return decrypted;
 }

 public static String toHex(String txt) {
  return toHex(txt.getBytes());
 }
 public static String fromHex(String hex) {
  return new String(toByte(hex));
 }
 
 public static byte[] toByte(String hexString) {
  int len = hexString.length()/2;
  byte[] result = new byte[len];
  for (int i = 0; i < len; i++)
   result[i] = Integer.valueOf(hexString.substring(2*i, 2*i+2), 16).byteValue();
  return result;
 }

 public static String toHex(byte[] buf) {
  if (buf == null)
   return "";
  StringBuffer result = new StringBuffer(2*buf.length);
  for (int i = 0; i < buf.length; i++) {
   appendHex(result, buf[i]);
  }
  return result.toString();
 }
 private final static String HEX = "0123456789ABCDEF";
 private static void appendHex(StringBuffer sb, byte b) {
  sb.append(HEX.charAt((b>>4)&0x0f)).append(HEX.charAt(b&0x0f));
 }
 
}

 

http://www.androidsnippets.org/snippets/39/

这个网站也是不错的


    
[2] 下令签名
    来源: 互联网  发布时间: 2014-02-18
命令签名
java -jar D:\eclipse\plugins\net.rim.ejde\signTool\SignatureTool.jar
-p password -C -a *.cod

    
[3] 弹出sub View在目前窗口
    来源: 互联网  发布时间: 2014-02-18
弹出sub View在当前窗口

其实呢就是想做一个和输入法弹出差不多的效果

<RelativeLayout 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  > 
 
  <ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    /> 
 
  <RelativeLayout 
    android:id="@+id/mediaPopup" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true"  
    android:visibility="gone" 
    > 
    <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="I am a media player!" 
      /> 
  </RelativeLayout> 
 
</RelativeLayout> 
function void showMediaPlayer() { 
 
  if(mMediaPopUp.getVisibility() == View.GONE) { 
 
    // Show Media Player 
    TranslateAnimation mAnimUp =  
      new TranslateAnimation( 
        Animation.RELATIVE_TO_SELF,  
        0,  
        Animation.RELATIVE_TO_SELF,  
        0,  
        Animation.RELATIVE_TO_SELF,  
        -(mMediaPopUp.getHeight()),  
        Animation.RELATIVE_TO_SELF,  
        0); 
 
    mAnimUp.setStartOffset(500); 
    mAnimUp.setDuration(500); 
 
    mMediaPopUp.setVisibility(View.VISIBLE); 
    mMediaPopUp.setAnimation(mAnimUp); 
 
  } 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android提高之手游转电视游戏的模拟操控 iis7站长之家
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3