<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    俊星的BLOG

    #

    在ubuntu上手工安裝JDK

    ubuntu上安裝JDK的方法有多種,我選擇的是手工安裝的方式,下面是安裝過程,以備忘:
    1:下載安裝文件,如jdk-6u14-linux-i586.bin
    2:開始安裝,使用到的命令有:
    // 切換到管理員
    sudo su

    // 刪除文件
    rm jdk-6u14-linux-i586.bin 

    // 級(jí)聯(lián)刪除文件夾
    rm -rf jdk1
    .6.0_14/

    // 拷貝文件
    cp /home/kinkding/download/jdk-6u14-linux-i586.bin ./

    // 拷貝文件夾
    cp -rf /home/kinkding/dev/jdk1
    .6.0_14 /usr/java/

    // 授予文件執(zhí)行權(quán)限
    chmod +x jdk-6u14-linux-i586.bin 

    // 執(zhí)行文件
    ./jdk-6u14-linux-i586.bin 

    // 編輯profile文件按
    gedit /etc/profile

    // 在profile中添加的語句,設(shè)置環(huán)境變量(一般放置在文件尾部,umask 022之前)
    export JAVA_HOME
    =/usr/java/jdk1.6.0_14
    export CLASSPATH
    =$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH
    =$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

    注意:修改/etc/profile之后,需要注銷重登陸才生效。

    posted @ 2009-06-05 12:54 俊星 閱讀(456) | 評(píng)論 (0)編輯 收藏

    JAVA單向加密(MD5,SHA,MAC)

    具體代碼如下:
    import java.security.MessageDigest;

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

    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;

    /**
     * 加密(主要有:MD4,SHA,MAC)
     * 
     * 
    @author kinkding
     * @history 2009-6-3
     
    */

    public class MyEncrypt {
        
    /** MD5 加密 */
        
    public static byte[] encryptMD5(byte[] data) throws Exception {
            MessageDigest md5 
    = MessageDigest.getInstance("MD5");
            md5.update(data);
            
    return md5.digest();
        }


        
    /** SHA 加密 */
        
    public static byte[] encryptSHA(byte[] data) throws Exception {
            MessageDigest sha 
    = MessageDigest.getInstance("SHA");
            sha.update(data);
            
    return sha.digest();
        }


        
    /** 取得HMAC密鑰 */
        
    public static String getMacKey() throws Exception {
            KeyGenerator keyGenerator 
    = KeyGenerator.getInstance("HmacMD5");
            SecretKey secretKey 
    = keyGenerator.generateKey();
            
    return new BASE64Encoder().encode(secretKey.getEncoded());
        }


        
    /** 執(zhí)行加密 */
        
    public static byte[] encryptHMAC(byte[] data, String key) throws Exception {
            
    byte[] bkey = new BASE64Decoder().decodeBuffer(key);
            SecretKey secretKey 
    = new SecretKeySpec(bkey, "HmacMD5");
            Mac mac 
    = Mac.getInstance(secretKey.getAlgorithm());
            mac.init(secretKey);
            
    return mac.doFinal(data);
        }


        
    private static String toHex(byte[] buffer) {
            StringBuffer sb 
    = new StringBuffer(buffer.length * 3);
            
    for (int i = 0; i < buffer.length; i++{
                sb.append(Character.forDigit((buffer[i] 
    & 0xf0>> 416));
                sb.append(Character.forDigit(buffer[i] 
    & 0x0f16));
            }

            
    return sb.toString();
        }


        
    public static void main(String[] args) {
            String msg 
    = "生活真好^_^";
            
    byte[] data = msg.getBytes();
            
    try {
                System.out.println(
    "msg:" + msg);
                System.out.println(
    "md5:" + toHex(encryptMD5(data)));
                System.out.println(
    "sha:" + toHex(encryptSHA(data)));
                String key 
    = getMacKey();
                System.out.println(
    "mac key:" + key);
                System.out.println(
    "mac:" + toHex(encryptHMAC(data, key)));
            }
     catch (Exception e) {
                e.printStackTrace();
            }


        }

    }


    運(yùn)行效果如下:
    msg:生活真好^_^
    md5:e0649dfaef57789734e920c7ecb9c4ea
    sha:a4bd855836de26b2323778b797629fed4416f12f
    mac key:zBPe28oho2H84+Mg8mF4abpd0MQvdjgqgFdX4hmUQQbOGnX1aFq/oQnogsHVIczgx1AZ1s2/ncPz
    tBQIGLZUnw
    ==
    mac:87f4140161ad43797059e85dd9962897

    posted @ 2009-06-03 23:20 俊星 閱讀(1266) | 評(píng)論 (0)編輯 收藏

    WINDOWS和LINUX平臺(tái)獲取MAC地址

    Windows平臺(tái):

    主要是通過執(zhí)行“ipconfig /all”命令實(shí)現(xiàn):
        public String getMyMACAddress() {
            String macAddr 
    = "";
            
    try {
                Process p 
    = Runtime.getRuntime().exec("ipconfig /all");
                BufferedReader reader 
    = new BufferedReader(new InputStreamReader(p.getInputStream()));
                String line 
    = null;
                
    while ((line = reader.readLine()) != null{
                    
    if (line.indexOf("Physical Address"> 0{
                        macAddr 
    = line.substring(line.indexOf(":"+ 1, line.length()).trim();
                        
    break;
                    }

                }

            }
     catch (IOException e) {
                e.printStackTrace();
            }

            
    return macAddr;
        }

    Linux下的方式為:

    posted @ 2009-06-03 20:39 俊星 閱讀(342) | 評(píng)論 (0)編輯 收藏

    關(guān)于lisence的討論

    今天在JAVA EYE上看到了一篇關(guān)于授權(quán)的討論,http://www.javaeye.com/topic/399622?page=1 ,下面是我看法:

    1. 獲取過程,需要聯(lián)網(wǎng)注冊(cè),lisence 暫時(shí)包含兩個(gè)屬性:用戶數(shù)、到期時(shí)間
    2. 激活,也需要聯(lián)網(wǎng),修改lisence的兩個(gè)屬性,如用戶數(shù)遞減,需要特殊處理的是同一用戶可以多次激活
    3. 正常運(yùn)行后,在本地保存激活信息,不需要再次聯(lián)網(wǎng),之后每次啟動(dòng)時(shí)檢查到期時(shí)間

    稍后有時(shí)間的話,將寫一個(gè)DEMO來試驗(yàn)一下。

    posted @ 2009-06-02 23:55 俊星 閱讀(220) | 評(píng)論 (0)編輯 收藏

    SWT試用之控制鼠標(biāo)鍵盤

    通過SWT可以控制鼠標(biāo)鍵盤事件,具體如下:
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Event;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.Text;

    /**
     * 預(yù)期的運(yùn)行效果為:顯示開始菜單
     * 
    @author kinkding
     * @history 2009-6-2
     
    */

    public class MyEventRes {

        
    public static void main(String[] args) {
            
    final Display display = new Display();
            
    final Shell shell = new Shell(display);
            
    final Text text = new Text(shell, SWT.BORDER);
            text.setSize(text.computeSize(
    150, SWT.DEFAULT));
            text.setText(
    "神一樣的人啊!");
            shell.pack();
            shell.open();

            
    new KeyThread(display).start(); // 鍵盤響應(yīng)
            
    // new MouseThread(display).start(); // 鼠標(biāo)響應(yīng)
            while (!shell.isDisposed()) {
                
    if (!display.readAndDispatch())
                    display.sleep();
            }

            display.dispose();
        }

    }


    class MouseThread extends Thread {
        Display display;
        
    int h;

        
    public MouseThread(Display display) {
            
    this.display = display;
            h 
    = display.getPrimaryMonitor().getBounds().height;
        }


        
    public void run() {
            Event event 
    = new Event();
            
    // 移動(dòng)鼠標(biāo)
            event.type = SWT.MouseMove;
            event.x 
    = 5;
            event.y 
    = h - 5;
            display.post(event);
            
    try {
                Thread.sleep(
    100);
            }
     catch (InterruptedException e) {
            }

            
    // 按下右鍵
            event.type = SWT.MouseDown;
            event.button 
    = 1;
            display.post(event);
            
    try {
                Thread.sleep(
    100);
            }
     catch (InterruptedException e) {
            }

            
    // 恢復(fù)
            event.type = SWT.MouseUp;
            display.post(event);
        }

    }


    class KeyThread extends Thread {
        Display display;
        
    int h;

        
    public KeyThread(Display display) {
            
    this.display = display;
            h 
    = display.getPrimaryMonitor().getBounds().height;
        }


        
    public void run() {
            Event event 
    = new Event();
            
    // 按下CTRL
            event.type = SWT.KeyDown;
            event.keyCode 
    = SWT.CTRL;
            display.post(event);
            
    try {
                Thread.sleep(
    100);
            }
     catch (InterruptedException e) {
            }

            
    // 按下ESC
            event.type = SWT.KeyDown;
            event.keyCode 
    = SWT.ESC;
            display.post(event);
            
    try {
                Thread.sleep(
    100);
            }
     catch (InterruptedException e) {
            }

            
    // 恢復(fù)
            event.type = SWT.KeyUp;
            event.keyCode 
    = SWT.CTRL;
            display.post(event);
            
    try {
                Thread.sleep(
    100);
            }
     catch (InterruptedException e) {
            }

            event.type 
    = SWT.KeyUp;
            event.keyCode 
    = SWT.ESC;
            display.post(event);
        }

    }

    posted @ 2009-06-02 00:15 俊星 閱讀(820) | 評(píng)論 (0)編輯 收藏

    僅列出標(biāo)題
    共10頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
    主站蜘蛛池模板: a级毛片免费在线观看| 污污视频免费观看网站| 亚洲一卡2卡三卡4卡无卡下载| 亚洲黄页网在线观看| 国产亚洲一卡2卡3卡4卡新区| 日韩一级片免费观看| 两个人的视频www免费| 最近中文字幕完整免费视频ww | 亚洲AV成人无码网站| 人妻18毛片a级毛片免费看| 成全在线观看免费观看大全 | 久久亚洲国产欧洲精品一 | 最新国产AV无码专区亚洲| 亚洲2022国产成人精品无码区| 亚洲性一级理论片在线观看| 色婷婷六月亚洲综合香蕉| 久久精品成人免费观看97| 麻豆国产精品免费视频| 美女黄网站人色视频免费国产| 亚洲色婷婷综合开心网| 亚洲熟妇无码爱v在线观看| 日韩色视频一区二区三区亚洲| a毛片免费全部播放完整成| 国产成人无码免费看视频软件| 免费国产成人午夜私人影视| 亚洲AV永久无码精品成人| 亚洲午夜无码久久| 97在线视频免费公开视频| 久久精品女人天堂AV免费观看| 亚洲综合亚洲综合网成人| 亚洲午夜成激人情在线影院 | 特级毛片免费播放| 91在线老王精品免费播放| 国产精品免费综合一区视频| 亚洲第一福利网站| 特级毛片A级毛片100免费播放 | 中国在线观看免费的www| 免费无码黄十八禁网站在线观看| 久久久久亚洲av毛片大| 亚洲综合欧美色五月俺也去| 国产无遮挡无码视频免费软件 |