發表文章

[JDBC] JDBC基本的API整理 - 搭配Mysql

JDBC 初始化依序由1~2,3~5為控制api。 1. init : connect to database- String driver = "com.mysql.jdbc.Driver";         String url = "jdbc:mysql://localhost:3306/GUESTBOOK";         String user = "caterpillar";         String password = "123456";         try {             Class.forName(driver);             Connection conn =                DriverManager.getConnection(url,                                   user, password);             if(conn != null && !conn.isClosed()) {                 System.out.println("資料庫連線測試成功!");                 conn.close();             }   ...

[Database] Mysql語法整理

不知道有沒有漏掉的,這是我目前整理出來,常用到的語法。 ==================================================== ==================================================== @@@@@@------>資料庫管理 /-------------------------------------------------------------------------------     建立資料庫 -------------------------------------------------------------------------------/ shell> mysql -u openacs -popenacs mysql> CREATE DATABASE +(NAME); /-------------------------------------------------------------------------------  檢視現有的資料庫 -------------------------------------------------------------------------------/ shell> mysql -u openacs -popenacs mysql> SHOW DATABASES; /-------------------------------------------------------------------------------  刪除現有的資料庫 -------------------------------------------------------------------------------/ shell> mysql -u openacs -popenacs mysql> DROP DATABASE +(NAME); ==================================================== ===========...

[Security] openssl test (一)

有時候真的會一時懶散,就忘了把東西紀錄下來。 20111124 - 我記得剛進公司時,就被安排了,解決openssl的bug,跟增加一些小東西進去,基本上這東西我們公司似乎沒人用過,頂多只是拿它的測試程式來做一些簡單的測試。所以我拿到程式時的第一次件事,當然就是測試。 以下是psk + dtls的測試command,基本上 -psk_hint這個指令似乎是有問題的,後來我是自己修改後,才可以用,一般來說Ubuntu搭載預設是用openssl-0.9.8o,而我修改的版本是0.9.8i,所以不盡相同,據我所瞭解,openssl-1.0.0d的版本後,似乎才開始支援psk + dtls。 openssl s_server \ -psk_hint Brian \ -psk 1a2b3c \ -debug -state -dtls1 openssl s_client -connect localhost:4433 \ -psk 1a2b3c \ -psk_identity Brian \ -debug -state -dtls1 理論上如果你只是要試試看你的x509的憑證是不是work,那你首先要先持有三把憑證,因為我的測試都必須是server對client或client對server,所以基本上openssl裡面就會附贈一個預設憑證是server.pem、client.pem和root.pem,基本上server端要放server.pem跟root.pem,client端則是client.pem跟root.pem。但是必須說明的是,據說0.9.8i版以前的版本,在x509 + dtls是有問題的。 <待續>

[Security] wpa_supplicant setup

20111115 - wpa_supplicant conf的範例 現在我還在測試中,後續慢慢補上。 20111121 - 後來證實,我之前使用的wpa-supplicant v0.5.10有問題,導致在Enterprise模式時,SSL認證一直不正常,一下子是password不見,一下子是group key有問題。所以我就把atheros-carrier搭配的wpa_supplicant v0.5.10換成v0.6.9,果然一測就ok了,只改了driver_wext.c,順便加了一個檔案是driver_atheros11n.c,用來搭配atheros-carrier driver的Ioctl。 wpa_supplicant的設定檔案說明。 位置大都是在/etc/下。 ctrl_interface=/var/run/wpa_supplicant     #//無更動 ctrl_interface_group=0                            #//無更動 ap_scan=1                                              #//如是在wireless Station狀態務必要使用。 network={ scan_ssid=1                                     #//務必要填為1 ssid="BrianTEST-62bg"                   #//AP的SSI...

[Ubuntu Study] 修改eth1,eth0的名稱

因為要測試Router的功能,所以特別拿我老闆的主機來架設,剛好裝好Driver後發覺!為什麼 它的網卡編號是從eth5, eth4開始?!因為它是Ubuntu的系統,所以我特地上網Search一下是不 是有辦法修改eth4,eth5成eth0,eth1,沒辦法因為我們的router因為特殊需求把code寫死去讀eht0,eth1, 幸好很快就找到這篇: http://kanghuanyao.blogspot.com/2009/02/ubuntueth0-eth1.html 目前測試中。 ##> sudo vi  /etc/udev/rules.d/70-persistent-net.rules 把最後的 NAME="eth4", NAME="eth5",改成 NAME="eth0", NAME="eth1"。希望會順利, 晚 點再補上是不是成功了。 ====================>更新 20111103-10:16 截取其中一個出來看,看來是成功了! eth1      Link encap:Ethernet  HWaddr 00:80:c8:d8:9a:f5               inet addr:192.168.10.158  Bcast:192.168.10.255  Mask:255.255.255.0                inet6 addr: fe80::280:c8ff:fed8:9af5/64 Scope:Link                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1                RX packets:187 errors:0 dropped:0 overruns:0 fra...

密碼編譯概論

轉至: http://msdn.microsoft.com/zh-tw/library/92f9ye3s.aspx 有一種稱為電子密碼書 (Electronic Codebook,ECB) 模式的簡單形式區塊密碼器。ECB 模式並不被視為安全,因為它不會使用初始化向量 (IV) 來初始化第一個純文字區塊。對於已知的私密金鑰  k ,不使用初始化向量的簡單區塊密碼,會將同一個純文字輸入區塊加密成同一個密碼文字輸出區塊。因此,如果您輸入的純文字資料流中有重複的區塊,您的輸出密碼文字資料流中就會有重複的區塊。這些重複的輸出區塊會發出警示,表示弱式加密演算法的未經授權使用者使用了可能已採用的演算法,以及可能的攻擊模式。因此,ECB 加密模式很容易進行分析,並在最後進行金鑰探索。 由基底類別程式庫提供的區塊密碼器類別會使用稱為密碼區塊鏈結 (Cipher-Block Chaining,CBC) 的預設鏈結模式,不過您可以視需要變更此預設值。 CBC 加密會藉由使用初始化向量 (IV) 來加密第一個純文字區塊,解決與 ECB 加密有關的問題。後續的每個純文字區塊都會在其進行加密之前,與前一個密碼文字區塊執行位元排除 OR ( XOR ) 運算。因此,每個密碼文字區塊都會相依於所有的先前區塊。使用這套系統時,就不能使用未授權使用者可能知道的通用訊息頁首來進行金鑰的還原工程。 另一種會洩露利用 CBC 加密所加密之資料的方法,是大規模搜尋每個可能的金鑰。即使是使用最快速的電腦,進行這種搜尋仍非常耗時,而所耗費的時間依照執行加密的金鑰大小而定,因此是不可行的。較大的金鑰大小就較難破解。雖然理論上加密無法完全避免駭客擷取加密資料,但是加密確實會提高駭客進行擷取時所花費的成本。如果花三個月的時間執行大規模的搜尋,只擷取到數天有用的資料,這樣的大規模搜尋是不切實際的。 私密金鑰加密的缺點是,它是假設通訊的兩方已同意某個金鑰和 IV,而且已經相互交換過值。IV 並不被視為機密,因此可以與訊息一起以純文字傳送。不過,這個金鑰必須避免被未經授權的使用者知曉。基於這些問題,私密金鑰加密通常會結合公開金鑰加密,以便隱密傳送金鑰和 IV 的值。

DirectShow for NTSC GraphEdit發生無Video輸出

之前在GraphEdit拉出的架構可以直接使用NTSC的Device播放, 但這幾天我重新嘗試用程式把架構再拉出來,結果發生無Video輸出, 而且解析度不太正常,並圖像也只有同一張,剛開始一直找不到原因, 後來嘗試幾個架構方式後,一直到最後才發現原來Renderer的解析度 跟Video Capture Sources不一樣,於是重新設定解析度之後就可以 正常輸出了。