获取字符串';s Sql Server nvarchar(255)字节(Java)
我试图在Java中复制一个遗留的Sql Server哈希算法。问题是,该算法使用HashBytes(MD5),它根据我正在散列的字符串的类型给出不同的结果 所以至少,我需要知道如何在java中以nvarchar(255)的形式获取字符串的字节 我意识到我可以在Java中作为一个sql选择来做这件事,但我正在寻找一种不这样做的方法获取字符串';s Sql Server nvarchar(255)字节(Java),java,sql-server-2008,types,java-8,Java,Sql Server 2008,Types,Java 8,我试图在Java中复制一个遗留的Sql Server哈希算法。问题是,该算法使用HashBytes(MD5),它根据我正在散列的字符串的类型给出不同的结果 所以至少,我需要知道如何在java中以nvarchar(255)的形式获取字符串的字节 我意识到我可以在Java中作为一个sql选择来做这件事,但我正在寻找一种不这样做的方法 byte[] b = str.getBytes("UTF-16LE"); java.security.MessageDigest md = java.s
byte[] b = str.getBytes("UTF-16LE");
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
return javax.xml.bind.DatatypeConverter.printHexBinary(md.digest(b));
这在某些nvarchar(255)
上提供了与sql serverHASHBYTES('MD5',…)
相同的哈希值。关键似乎是UTF-16LE