我有以下要求。
1. save a user password converted to hash(digested)
2. when comparing with data base, add random bytes with the password given from user
3. now send the random bytes added password to DAO class
4. separate the random byte from password
5. compare with the stored hashed(digested) password
为了学习目的,我正在创建自己的库,比如Apache。
在我的update()方法中,我编写了一个简单的if (something == null) throw new Exception作为null检查。
/**
* Performs a digest update for the {@code String} (converted to bytes using the
* UTF-8 standard charsets) with a specific {@code MessageDigest} and returns
* the final digest data.
*
*
*
在这个程序中,我被要求读取一个包含密码列表的现有文本文件(1324passlist),然后创建一个字典文件,其中包含密码和密码的MD5散列。它还应该让用户输入密码哈希,搜索创建的字典文件并打印相应的密码(如果存在的话)。我不是程序员,也不漂亮,但它是按照作业指南运行的。
我想知道在哪里我可以更有效地整理和编写代码。
public class main
{
public static void searchTextFile(String hash) throws IOException
{
File fileName = new File("diction
我编写了自己的简化MessageDigest包装器,现在我想知道它是否线程安全。
public final class SimpleIMD implements ImmutableMessageDigest {
private final MessageDigest md;
public SimpleIMD(MessageDigest md) {
this.md = this.cloneMessageDigest(md);
}
private MessageDigest cloneMessageDigest(MessageDigest ori
我有一个像这样的界面
public interface WithMD5Calculator{
default String getMd5(){
try{
MessageDigest md = MessageDigest.getInstance("MD5");
//... not important
}catch(NoSuchAlgorithmException e){
//... do some extra stuff and throw wrapped in Ser