james邮件服务器对用户密码加密
2013-12-20 16:34
274 查看
james邮件服务器对用户的密码进行了加密。
默认使用的方式是“SHA”。
可以找到加密和解密的源码
仿照源码加入相应的jar包即可对密码进行加密解密。
默认使用的方式是“SHA”。
可以找到加密和解密的源码
package org.apache.james.security; import javax.mail.MessagingException; import javax.mail.internet.MimeUtility; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Locale; public class DigestUtil { public static void main(String[] args) { //... } public static void printUsage() { //... } public static void digestFile(String filename, String algorithm) { byte[] b = new byte[65536]; int count = 0; int read = 0; FileInputStream fis = null; FileOutputStream fos = null; try { MessageDigest md = MessageDigest.getInstance(algorithm); fis = new FileInputStream(filename); while (fis.available() > 0) { read = fis.read(b); md.update(b, 0, read); count += read; } byte[] digest = md.digest(); StringBuffer fileNameBuffer = new StringBuffer(128) .append(filename) .append(".") .append(algorithm); fos = new FileOutputStream(fileNameBuffer.toString()); OutputStream encodedStream = MimeUtility.encode(fos, "base64"); encodedStream.write(digest); fos.flush(); } catch (Exception e) { System.out.println("Error computing Digest: " + e); } finally { try { fis.close(); fos.close(); } catch (Exception ignored) {} } } public static String digestString(String pass, String algorithm ) throws NoSuchAlgorithmException { MessageDigest md; ByteArrayOutputStream bos; try { md = MessageDigest.getInstance(algorithm); byte[] digest = md.digest(pass.getBytes("iso-8859-1")); bos = new ByteArrayOutputStream(); OutputStream encodedStream = MimeUtility.encode(bos, "base64"); encodedStream.write(digest); return bos.toString("iso-8859-1"); } catch (IOException ioe) { throw new RuntimeException("Fatal error: " + ioe); } catch (MessagingException me) { throw new RuntimeException("Fatal error: " + me); } } private DigestUtil() { } }
仿照源码加入相应的jar包即可对密码进行加密解密。
相关文章推荐
- 网易云音乐8亿用户背后的伤疤
- Patrol 7 架构下?的处理方法
- windows server域用户提升到本地更高权限组中的方法
- 清除IE分级审查密码
- 华为路由器密码恢复
- 注册表导出管理员密码文件
- 用ASP编写的加密和解密类
- 路由器版本与密码恢复
- 密码知识教程一
- 密码破解全教程
- 个人用户防黑指南
- VBS脚本加密/解密VBS脚本(简易免杀版1.1)
- BAT加密工具 EncryBat 非编译型bat批处理加密方案与代码
- redis中修改配置文件中的端口号 密码方法
- SQLServer 2008中的代码安全(一) 存储过程加密与安全上下文
- SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
- asp MD5加密方式使用建议
- C#对称加密与非对称加密实例
- vbs shellcode转换escape加密
- 深入密码加salt原理的分析