系统接口之间进行交互,或采用WebService方式,或采用HTTP方式;无论采用哪一种方式,都会涉及安全性问题。提高安全性方法之一就是对交互数据进行编、解码操作。所以在此编写了一个编解码工具类,实现功能复用。该类引用了Bouncy Castle开源项目中的bcprov-jdk15-145.jar包。
Bouncy Castle是一种用于Java平台的开放源码的轻量级密码术包。它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。Bouncy Castle是轻量级的,从J2SE 1.4到J2ME(包括MIDP)平台,它都可以运行。它是在MIDP上运行的唯一完整的密码术包。
下载地址:http://www.bouncycastle.org/latest_releases.html
可依据项目所用JDK,下载Provider下相应的jar包。
- /**
- * SHA1编码
- * @param in 待编码值
- * @return 已编码值
- */
- public static byte[] sha1Encode(String in) {
- byte[] out = null;
- try {
- Digest digest = new SHA1Digest();
- digest.update(in.getBytes(CHARSET),in.length());
- out = new byte[digest.getDigestSize()];
- digest.doFinal(out,0);
- } catch (UnsupportedEncodingException e) {
- logger.error("SHA1编码操作,不支持字符集" + CHARSET + "!");
- }
- return out;
- }
该方法引用了Bouncy Castle包。
- /**
- * SHA1编码
- * @param in 待编码值
- * @return 已编码值
- */
- public static byte[] sha1InternalEncode(String in) {
- byte[] out = null;
- try {
- MessageDigest messagedigest = MessageDigest.getInstance("SHA-1");
- messagedigest.update(in.getBytes(CHARSET));
- out = messagedigest.digest();
- } catch (NoSuchAlgorithmException e) {
- logger.error("SHA1编码出错!",e);
- } catch (UnsupportedEncodingException e) {
- logger.error("SHA1编码操作,不支持字符集" + CHARSET + "!");
- }
- return out;
- }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。