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中。