Vraptor-encryptor = Plugin do VRaptor (criptografia)

Boa noite pessoal.

Olink do plugin esta no github, quem quiser acompanhar, por favor.

A ideia é: Você anota um parametro de uma action com @Encrypt e você já vai receber a String criptografada.

Assim:

public void action(@Encrypt String password){
}

Então seguindo as issues do projeto, eu gostaria de usar o @Encrypt em um field ou da entidade, ou do DTO que a pessoa esta usando. Não sei a viabilidade, mas seria algo assim:

public MyDTO{
    private Long id;

    @Encrypt 
    private String password;
}

e quando a action receber este dto:

public void action(MyDTO obj){}

O interceptor pegar, e alterar o valor do “password”. Imagino no caso, que eu teria que usar duas vezes a annotation @Encrypt. Uma no metodo, para o “@Accepts”… E outra no field, normalmente. O que já não me agrada… Será que tem como ter essa annotation apenas no Field ?

Outra coisa que eu quero fazer… É especificar um salter.
Como vocês podem ver em uma das implementações de um Encryptor, se eu não recebo um Salter, eu uso um Default. O ShuffleSalter. Quero dar a possibilidade do desenvolver criar um salter e usá-lo pelo plugin. Não faço ideia de como implementar isto.

Ahh… criei uma estrutura para o desenvolvedor escolher o tipo de implementação que ele quer, através de um enum. Ficou assima annotation recebe o ENUM que depois extraio a estratégia assim:

[code]private Encryptor extractEncryptor(EncryptStrategy[] strategyArray) {
if (notEmpty(strategyArray)) {
return strategyArray[0].getEncryptor();
}

	return new Sha512Encryptor();
}[/code]

Tudo bem que eu coloquei o “default” lá na annotation… Mas fiz assim só pra garantir né… vai que?! hahaha
bom é isso aí…

Me ajudem por favor e sugestões, criticas e ideias, a vontade!
:smiley:

é legal colocar um pouco de documentação no README do repositório do plugin…

assim a gente consegue linkar pro repositório e já ver como usar o plugin.

Lucas, concordo com você.

Ainda não coloquei por que estava esperando estas ultimas implementações :slight_smile:
Mas vou fazer isto logo

Beleza galera…

Criei a documentação (em inglês) do que já tem… E do que eu ainda quero fazer.

Abraços!