小编Abd*_*yer的帖子

Angular 2:向另一个服务注入服务.(没有提供商错误)

我想将服务注入另一个服务:

@Injectable()

export class Dispatcher {
}


@Injectable()

export class TodoStore {

    constructor(@Inject(Dispatcher) dispatcher:Dispatcher){ 

    }
}
Run Code Online (Sandbox Code Playgroud)

但我总是得到错误:Dispatcher没有提供者!

谢谢.

angular

28
推荐指数
2
解决办法
4万
查看次数

javax.persistence.PersistenceException:org.hibernate.PropertyAccessException:无法通过Entity.id的反射getter获取字段值

我有以下实体:

@Entity
public class Employee implements Serializable{
    private static final long serialVersionUID = 3454567L;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int empId;

    @Column
    private String username;

    public int getEmpId() {
        return empId;
    }

    public void setEmpId(int empId) {
        this.empId = empId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下EJB:

public class UserDAO implements UserDAOInterface{

    @PersistenceContext(unitName = "MainPersistenceUnit")
    private EntityManager em;

    @Override
    public void persist(Employee sdf) {
        try {
            em.persist(sdf);
        } catch (Exception …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa

6
推荐指数
1
解决办法
1万
查看次数

如何在JAVA中为Dovecot使用SHA512-CRYPT?

我有一个带有MySQL数据库的Dovecot服务器,用于存储用户名和密码.数据库中的密码采用SHA512-CRYPT方案.

我使用脚本在数据库中插入散列密码.

doveadm pw -s SHA512-CRYPT -p password -r 500000
Run Code Online (Sandbox Code Playgroud)

我想使用JAVA应用程序散列密码.我发现了这个问题,我尝试使用相同的密码firstpassword和盐创建相同的结果哈希FooBarBaz.由于某种原因,我得到的哈希是不同的,虽然我使用相同的哈希算法,盐和密码.

这是我的Java代码:

byte[] password = "firstpassword".getBytes();
byte[] salt = "FooBarBaz".getBytes();

MessageDigest digest = MessageDigest.getInstance("SHA-512");
digest.reset();
digest.update(salt);
byte[] hashed = digest.digest(password);

String encodedHash = Base64.getEncoder().encodeToString(hashed);

System.out.printf("{SHA512-CRYPT}$6$%s$%s", "FooBarBaz",encodedHash);
Run Code Online (Sandbox Code Playgroud)

这输出哈希:

{SHA512-CRYPT}$6$FooBarBaz$5WPtOnXVI/a6f003WByGKIcsfa6x0ansxiyE8uEfJ0TE5pI+Rv9kcMLgdZboKg7ZSWQgWFg+pIqruvdg6aiP/g==
Run Code Online (Sandbox Code Playgroud)

我也尝试交换salt +密码的顺序来实现:

digest.update(password);
byte[] hashed = digest.digest(salt);
Run Code Online (Sandbox Code Playgroud)

这给了我:

{SHA512-CRYPT}$6$FooBarBaz$QWS8+W5EWhModF+uO2tcsd55tDxzdzGJ5FurIbEgwVCwKfT5UqwIvBNG1Oyws8bZEFdeGgyD0u6zS1KArvGf9Q==
Run Code Online (Sandbox Code Playgroud)

有没有人知道如果我使用相同的密码和盐,如何在Java中完成相同的哈希结果?

我正在寻找的哈希是:

{SHA512-CRYPT}$6$FooBarBaz$.T.G.7FRJqZ6N2FF7b3BEkr5j37CWhwgvPOOoccrr0bvkBbNMmLCxzqQqKJbNhnhC.583dTBLEuZcDuQe7NEe.
Run Code Online (Sandbox Code Playgroud)

java sha512 dovecot

3
推荐指数
1
解决办法
1262
查看次数

标签 统计

angular ×1

dovecot ×1

hibernate ×1

java ×1

jpa ×1

sha512 ×1