org.acegisecurity.providers.encoding.md5passwordencoder 属于哪个...
样例:import java.io.IOException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Test {public static void main(String[] args) throws IOException{String plainText = "asdf";try {MessageDigest md = MessageDigest.getInstance("MD5");md.update(plainText.getBytes());byte b[] = md.digest();int i;StringBuffer buf = new StringBuffer("");for (int offset = 0; offset < b.length; offset++) {i = b[offset];if (i < 0)i += 256;if (i < 16)buf.append("0");buf.append(Integer.toHexString(i));}System.out.println("result: " + buf.toString());// 32位的加密System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密} catch (NoSuchA...IOException.toString();).append(Integer;"import java;public class Test {public static void main(String[] args) throws IOException{String plainText = &quot.update(plainText.getBytes());buf.toString());byte b[] = md;.security; 16)buf.digest(): " + buf;if (i < 32位的加密System.out.out;try {MessageDigest md = MessageDigest.MessageDigest.toHexString(i));}System;import java.length样例; b;/.println("/int i:import java: " offset &lt.NoSuchAlgorithmException.security.getInstance("result.append(&quot.printStackTrace();/.substring(8;MD5");result; TODO Auto-generated catch blocke; + buf; 0)i += 256;);md; 16位的加密} catch (NoSuchAlgorithmException e) {//StringBuffer buf = new StringBuffer("asdf" offset++) {i = b[offset];if (i &lt, 24));0&quot.println("for (int offset = 0.io;/
MD5可以直接放到数据里面用吗?
直接放进去,就是取出验证的时候需要反转一下 String pw = EncryptionUtils.encryptByMD5(password, userName, false); 。
。
。
。
String encryptByMD5(String str,String salt,boolean is64){Md5PasswordEncoder md5 = new Md5PasswordEncoder();md5.setEncodeHashAsBase64(is64);return md5.encodePassword(str, salt);}
如何插入目录 epubbuilder的使用细节
这个应用可以使用JavaConfig完成配置。
我把它切分为下面几个部分:ServicesConfig(服务配置)无需扫描组件,配置真的非常简单:@Configurationpublic class ServicesConfig {@Autowiredprivate AccountRepository accountRepository;@Beanpublic UserService userService() {return new UserService(accountRepository);}@Beanpublic PasswordEncoder passwordEncoder() {return NoOpPasswordEncoder.getInstance();}}PersistenceConfig(持久层配置)我们想要一个配置了所有可用仓库的MONGODB配置。
在这个简单的应用中我们只用了一个仓库,所以配置也非常的简单:
如何导出keystore中的私钥
使用java程序语言导出私钥的方式,下载kestore-export.工具:Java Runtime的目录,指包含Java.exe和keytool.exe的目录,如:c:\progra~1\Java\jre1.5.0_06\bin例如:Cmd代码 JKS2PFX server.jks 123456 tomcat exportfile c:\progra~1\Java\jre1.5.0_06\bin
关于sun.misc.BASE64Encoder的问题
BASE64Encoder和Decoder是非官方JDK里面的类。
虽然可以在JDK里能找到并使用,但是在API里查不到。
这两个可能是SUN公司内部人使用的,我们使用后出了问题也就不能责怪SUN。
据我所知SUN开头的包里面的类都找不到相关文档,所以里面可能都是非官方的类。
出现警告也是非常合理和正常的,因为以后SUN可能会更新或这删除那些非官方的类。
不用管它。
如何快速构建基于Spring4.0的Rest API
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;import sun.misc.BASE64Encoder;public class MailSender { private String smtpServer = "smtp.163.com";//SMTP邮件服务器的主机名称 private int port = 25; public static void main(String[] args) { Message msg = new Message("这里写你的163邮箱", "所要发送的目的邮箱", "hello", "hi,I miss you very much."); new MailSender().sendMail(msg); } private PrintWriter getWriter(Socket socket) throws IOException{ OutputStream socketOut = socket.getOutputStream(); return new PrintWriter(socketOut,true);//true表示自动将中间缓存flush到接受数据端 } private BufferedReader getReader(Socket socket) throws IOException{ InputStream socketIn = socket.getInputStream(); return new BufferedReader(new InputStreamReader(socketIn)); } public void sendMail(Message msg){ Socket socket = null; try { socket = new Socket(smtpServer,port); //连接到邮件服务器 BufferedReader br = getReader(socket); PrintWriter pw = getWriter(socket); String localhost = InetAddress.getLocalHost().getHostName(); //客户主机的名字 String username = ""; //写你的163邮箱账户 String password = ""; //写你的密码 //对用户名和密码进行Base64编码 username = new BASE64Encoder().encode(username.getBytes()); password = new BASE64Encoder().encode(password.getBytes()); sendAndReceive(null,br,pw); //仅仅是为了接收服务器的响应数据 sendAndReceive("HELO "+localhost, br, pw); sendAndReceive("AUTH LOGIN", br, pw); //认证命令 sendAndReceive(username, br, pw); //用户名 sendAndReceive(password, br, pw); //密码 sendAndReceive("MAIL FROM:", br, pw); sendAndReceive("RCPT TO:", br, pw); sendAndReceive("DATA", br, pw); //接下来开始发送邮件内容 pw.println(msg.data); System.out.println("Client>"+msg.data); sendAndReceive(".", br, pw); //邮件发送完毕 sendAndReceive("QUIT", br, pw); } catch (IOException e) { e.printStackTrace(); } finally{ if(socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } /**发送一行字符串,并且接受一行服务器的响应数据 * @throws IOException */ private void sendAndReceive(String str,BufferedReader br,PrintWriter pw) throws IOException { if(str != null){ System.out.println("Client>"+str); pw.println(str); //发送完str字符串后,还会发送"\r\n" } String response; if((response = br.readLine())!=null){ System.out.println("Server>"+response); } }}class Message{ String from; //发送者的邮件地址 String to; //接收者的邮件地址 String subject; //邮件标题 String content; //邮件正文 String data; //邮件内容,包括邮件标题和正文 public Message(String from,String to,String subject,String content){ this.from = from; this.to = to; this.subject = subject; this.content = content; data = "Subject:"+subject+"\n\r"+content; //注意这里是\n\r,\r\n不行 }}这是我以前写的发邮件的例子,给你参考一下,关于收邮件还没有研究过,总之不单单得了解socket编程,你还需要理解SMTP协议的相关知识。
c#怎么解析bcryptpasswordencoder
看个简单的例子@Testpublic void testPass(){String pass = "hello";BCryptPasswordEncoder encode = new BCryptPasswordEncoder();String hashPass = encode.encode(pass);System.out.println(hashPass);}结果"C:\Program Files\Java\jdk1.7.0_17\bin\java" -ea -Didea.launcher.port=7533 "-Didea.launcher.bin.path=D:\ProgramFil
Java语言 有关xml文件写的过程中,出现异常导致文件为空的情况
其实你应该在程序中构建一个模型和文件内容相对应,就好修改了。
如读取文件,构建模型,修改模型,写入文件。
import java.beans.XMLDecoder;import java.beans.XMLEncoder;import java.io.*;import java.util.ArrayList;import java.util.List;public class Main { public static void main(String[] args) { User user = new User("admin", "111111", new Adress("New York")); addUser(user); catXmlFile(); updatePassword("admin", "123456"); catXmlFile(); } public static boolean addUser(User user) { List users = loadXmlForUsers(); for (User user1 : users) { if (user1.getUsername().equals(user)) { return false; } } users.add(user); writeXmlForUser(users); return true; } public static void updatePassword(String username, String password) { List users = loadXmlForUsers(); for (User user : users) { if (user.getUsername().equals(username)) { user.setPassword(password); } } writeXmlForUser(users); } public static void catXmlFile() { try { System.out.println("=============="); BufferedReader br = new BufferedReader(new FileReader("users.xml")); while (br.ready()) { System.out.println(br.readLine()); } br.close(); } catch (IOException e) { e.printStackTrace(); } } public static void writeXmlForUser(List users) { try { XMLEncoder encoder = new XMLEncoder(new FileOutputStream("users.xml")); encoder.writeObject(users); encoder.flush(); encoder.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } public static List loadXmlForUsers() { List users; try { XMLDecoder decoder = new XMLDecoder(new FileInputStream("users.xml")); users = (List) decoder.readObject(); decoder.close(); } catch (Exception e) { users = new ArrayList(); } return users; } public static class User { private String username; private String password; private Adress adress; public User() { } public User(String username, String password, Adress adress) { this.username = username; this.password = password; this.adress = adress; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Adress getAdress() { return adress; } public void setAdress(Adress adress) { this.adress = adress; } } public static class Adress { private String name; public Adress() { } public Adress(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }}
转载请注明出处51数据库 » passwordencoder