Java怎么给WebService加密?
1.1.1 验证码加密接口中的验证码参数,均需要通过DES + BASE64加密,1.1.2 报文签名通票平台接入端分配一个cp_code和csecret,双方均采用如下规则对报文进行签名:l 第一步:签名源串构造规则:将请求参数按照如下规则组织“a=x&b=y&c=z&……”,每一个参数按参数名的自然数序排列。(按字典序排列)l 第二步:使用HMAC-SHA1加密算法,将Step1中的到的源串以及实现分配的密钥(csecret )进行加密;l 第三步:将Step2中得到的加密字串进行Base64编码。签名密钥(secret):abcdefghijklmnopqrstuvwx/*** 返回签名之后的JSON对象** @param json原JSON对象* @param secret密钥* @return* @throws Exception*/publicstatic String doSign(JSONObjectjson,String secret) throws Exception {String baseStr = "";for (Object key : newTreeSet(json.keySet())) {baseStr += ("&" + key + "=" + json.get(key));}SecretKeySpec key = newSecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA1");Mac mac = Mac.getInstance("HmacSHA1");mac.init(key);byte[] bytes = mac.doFinal(baseStr.substring(1).getBytes("UTF-8"));json.put("signature", new String(Base64.encodeBase64(bytes)));return json.toString();}
如何成为信息安全专家?
(1)学习一门编程语言,最好是c或java。
(2)了解一下基本的加密、签名、认证原理、流程,譬如RSA、DES、SHA-1、MD5、CA。
(3)用编程语言把基本加密方法实现了。
(4)在外行眼里,你已经是专家了,但在行内人眼里,你已经有成为专家的入门资格了。
(5)进入360或类似的安全公司(目前看来,360在安全领域的人才还是最多的)偷师。
(6)进入招商银行或类似银行(中国第一代网银设计,安全性最好的还得是招行)学习行业经验。
(7)关注国际密码学和信息安全大会的一些前沿技术,国内可以留意一下王小云教授的研究成果。
(8)我估计信息安全领域,没啥人还能忽悠到你了。
学习JAVA会用到哪些日常软件?
先上一张我桌面的截图,基本上涵盖了我常用的90%的软件。
IDE、编辑器
IDE啦,我还是习惯用Eclipse,有各种版本的,有时候会用STS(Spring Tool Suite),它也是一个被包装过的Eclipse,方便做一些Spring框架的研究。另外Pycharm,主要是学习Python的时候使用。
还有一个我很喜欢使用的软件EditPlus,它一个文本编辑器。我最常用的一个功能:正则表达式查询及替换,非常的好用。
数据库工具
DbVisualizer,凡是具有JDBC数据库接口的数据库都可以管理,什么数据库都能连。
之前用Oracle数据库的时候主要用plsqldev,现在也不用Oracle了,所以很少打开了。
另外推荐一个SQLyog,这是一个快速而简洁的图形化管理MYSQL数据库的工具,我只用里面一个功能,就是数据的导入导出,效率非常高!
另外Mongodb用的比较多一些,推荐两个工具,一个是MongoDB Compass,这个是官方推荐的,在官网就能下载到,另外一个是Nosql Manager,也是不错的工具。
接口测试工具
大部分项目只对外提供接口服务,所以接口测试工具少不了,我一般使用SoapUI,WebService/Rest都可以进行测试。
其他
每天肯定会用的肯定不止上面几个,还有版本控制工具svn和git,都会用到是因为单位svn现在开始往git迁移。
- 因为用的Scrum敏捷开发流程,所以JIRA、Sonar、Fisheye这些也是都会用到的。
云笔记:记录各种笔记、网摘。
MarkdownPad:Markdown编辑器。
Beyond Compare:代码比对工具。
希望我的回答,能够帮助到你!
我会持续分享Java程序开发、架构设计、职业发展等方面的知识和见解,希望能得到你的关注今日头条【会点代码的大叔】,转载请注明出处。