http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的內容替換成IDEAhtml
參考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD 安裝alibaba插件,解決代碼中的規範問題。git
在IDEA中使用工具(Code->Reformate Code)把下面代碼從新格式化,再研究一下Code菜單,找出一項讓本身感受最好用的功能。提交截圖,加上本身學號水印。算法
public class CodeStandard { public static void main(String [] args){ StringBuffer buffer = new StringBuffer(); buffer.append('S'); buffer.append("tringBuffer"); System.out.println(buffer.charAt(1)); System.out.println(buffer.capacity()); System.out.println(buffer.indexOf("tring")); System.out.println("buffer = " + buffer.toString()); if(buffer.capacity()<20) buffer.append("1234567"); for(int i=0; i<buffer.length();i++) System.out.println(buffer.charAt(i)); } }
在IDEA中打開Settings->Plugins->Marketplace
,在其搜索框中輸入alibaba
並回車,第一個搜索選項是Alibaba Java Code Guidelines
插件,點擊Install
進行安裝,而後重啓IDE生效
app
重啓後在項目名稱上單擊右鍵,在彈出菜單上選擇編碼規約掃描
有以下提示:(中間調了個背景色)
按照提示修改代碼便可。ide
經實踐,Code菜單中我認爲最實用的功能爲Surround With
(生成外結構)與Unwarp/Remove
(刪除外結構),方便調整代碼結構。
工具
在碼雲上把本身的學習搭檔加入本身的項目中,確認搭檔的項目加入本身後,下載搭檔實驗二的Complex代碼,加入很多於三個JUnit單元測試用例,測試成功後git add .
; git commit -m "本身學號 添加內容"
;git push
;單元測試
提交搭檔項目git log
的截圖,包含上面git commit
的信息,並加上本身的學號水印信息。學習
首先添加倉庫成員。
而後下載搭檔實驗二代碼,加入JUnit單元測試。
而後git push
就能夠用git log
看到本身的和搭檔的操做了。測試
實驗三 敏捷開發與XP實踐 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的內容替換成IDEAui
完成重構內容的練習,下載搭檔的代碼,至少進行三項重構,提交重構後代碼的截圖,加上本身的學號水印。提交搭檔的碼雲項目連接。
首先下載搭檔的代碼,而後選擇編碼規約掃描,查看應當修改的部分
根據提示進行代碼修改,須要重命名的變量或類名能夠用右擊->Refactor->Rename進行重命名
參考 http://www.cnblogs.com/rocedu/p/6683948.html,以結對的方式完成Java密碼學相關內容的學習,結合重構,git,代碼標準。
提交學習成果碼雲連接和表明性成果截圖,要有學號水印。
獲取密鑰生成器KeyGenerator kg=KeyGenerator.getInstance("DESede");
Java中KeyGenerator類中提供了建立對稱密鑰的方法。KeyGenerator類預約義了一個靜態方法getInstance( )
,方法getInstance( )
的參數爲字符串類型,指定加密算法的名稱。
初始化密鑰生成器kg.init(168);該步驟通常指定密鑰的長度。咱們寫的是「DESede」,則能夠是112或168位,其中112位有效。
生成密鑰SecretKey k=kg.generateKey( )
;密鑰可用於之後的加密和解密。
經過對象序列化方式將密鑰保存在文件中
FileOutputStream f=new FileOutputStream("key1.dat"); ObjectOutputStream b=new ObjectOutputStream(f); b.writeObject(k);
ObjectOutputStream
類中提供的writeObject
方法能夠將對象序列化,以流的方式進行處理。這裏將文件輸出流做爲參數傳遞給ObjectOutputStream
類的構造器,這樣建立好的密鑰將保存在文件key1.data中。
從文件中獲取密鑰
FileInputStream f=new FileInputStream("key1.dat"); ObjectInputStream b=new ObjectInputStream(f); Key k=(Key)b.readObject( );
建立密碼器
Cipher cp=Cipher.getInstance("DESede");
KeyGenerCipher
類是一個工廠類,它不是經過new
方法建立對象,而是經過其中預約義的一個靜態方法getInstance( )
獲取Cipher對象。getInstance( )
方法的參數是一個字符串,該字符串給出Cipher對象應該執行哪些操做。
初始化密碼器
cp.init(Cipher.ENCRYPT_MODE, k)
;該方法包括兩個參數,第一個參數指定密碼器準備進行加密仍是解密,若傳入Cipher.ENCRYPT_MODE
則進入加密模式。第二個參數則傳入加密或解密所使用的密鑰,即第1步從文件中讀取的密鑰對象k。
獲取等待加密的明文
String s="Hello World!"; byte ptext[]=s.getBytes("UTF8"); 執行加密 byte ctext[]=cp.doFinal(ptext); 處理加密結果 FileOutputStream f2=new FileOutputStream("SEnc.dat"); f2.write(ctext);
這裏將加密結果保存在文件Senc.dat中。