Salut !! Tout le monde s’en fout mais c’était mon anniversaire hier !!
Et à cette occasion, c’est moi qui vous fais cadeaux de ce petit snippet permettant de crypter ou de décrypter des String Java et ce en utilisant une clé de cryptage ainsi que les outils du package Cypher.
(en passant, je trouve inquiétant que ce package précis porte le nom du traître de Matrix mais bon…)
Crypter le mot de passe :
public String encrypt(String password,String key){
try
{
Key clef = new SecretKeySpec(key.getBytes("ISO-8859-2"),"Blowfish");
Cipher cipher=Cipher.getInstance("Blowfish");
cipher.init(Cipher.ENCRYPT_MODE,clef);
return new String(cipher.doFinal(password.getBytes()));
}
catch (Exception e)
{
return null;
}
}
Décrypter le mot de passe :
public String decrypt(String password,String key){
try
{
Key clef = new SecretKeySpec(key.getBytes("ISO-8859-2"),"Blowfish");
Cipher cipher=Cipher.getInstance("Blowfish");
cipher.init(Cipher.DECRYPT_MODE,clef);
return new String(cipher.doFinal(password.getBytes()));
}
catch (Exception e)
{
System.out.println(e);
return null;
}
}
Si vous ne souhaitez pas utiliser la crypto Cypher, vous pouvez utiliser un code plus simple :
Crypter
public String encrypt(String password){
String crypte=””;
for (int i=0; i<password.length();i++) {
int c=password.charAt(i)^48;
crypte=crypte+(char)c;
}
return crypte;
}
Décrypter
public String decrypt(String password){
String aCrypter=””;
for (int i=0; i<password.length();i++) {
int c=password.charAt(i)^48;
aCrypter=aCrypter+(char)c;
}
return aCrypter;
}
Comment tu spoiles Matrix, rholala.
Joyeux annif’, alors !
Tiens, je ne sais plus si j’en avais déjà parlé, mais je cherche un logiciel pour rassembler, conserver et surtout ranger tous ces snippets, compatible Windows et Linux, tu aurais ça dans ta besace ?
En même temps ceux qui n’ont toujours pas vu matrix 1 depuis sa sortie il y a 13 ans ne méritent pas vraiment de vivre… :p
Merci, j’ai commandé une trottinette cette année, je m’adapte à la crise, je vend ce gouffre à pognon que constitue ma clio 1 :p
Non je n’ai jamais rien développé dans ce sens mais c’est une idée :p, sinon je crois qu’il y à pas mal de sites à droite et à gauche qui servent de base de donnée de snippets. Pour ce qui est de programmes lourds je n’en ai jamais entendu parler 🙂
Je connais des gens qui n’ont pas vu Star Wars. Le premier (le vrai, quoi).
Je ne pensais pas forcément “as-tu développé une boîte à snippets” dans ma phrase =D mais oui, c’est une idée ^^
Et je n’aime pas trop l’idée de confier mes snippets à des sites tiers, je préfère avoir le contrôle ^^’ Pour Windows, si ça t’intéresse, j’ai Codex, très bon, introuvable parce que plus sur le site de l’auteur, et je cherchais un équivalent Linux. (ou alors je le Wine ? hmmm)
Techniquement, c’est le 4 le premier 🙂 et donc le vrai ( on est fan jusqu’au bout ou on ne l’est pas du tout 😀 )
Et personnellement je refuse de parler à ce type de population, les références de ce films s’inscrivent aujourd’hui dans les normes de la langue française pour moi, c’est quelque chose qui devrait être enseigné dès la primaire :p.
Je veux bien que tu m’envoie codex par curiosité, si un jour j’ai une minute je ferais un équivalent java (et donc portable a peu près partout) et je te préviendrais 🙂
Si c’est un petit prog, ça devrais passer sur wine 🙂
Ah mais je parlais évidemment du “4”. Pour qui me prends-tu donc =D ?
Je t’envoie Codex (mais si tu en fais un prog Java, rends-le joli ^^ j’ai vu trop de softs utiles tellement moches que ça ne donne pas envie de les utiliser…).
Bon anniversaire ! 🙂
Merci beaucoup 🙂 ça me touche !
Mercredi, 25 janvier 2012
un grand merci et :siffle: Joyeux anniversaire en retard, c’est vrai, mais je voulais être sûr d’être la seule personne à te le souhaiter ce jour ! 🙂
Bonjour,
en copiant collant ce code j’obtient de manière un peu aléatoire l’exception suivante :
logic.TechnicalException: Erreur de decryptage
at util.cryptage.MyBlowfish.deChiffrer(MyBlowfish.java:40)
Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
at com.sun.crypto.provider.BlowfishCipher.engineDoFinal(DashoA13*..)
at javax.crypto.Cipher.doFinal(DashoA13*..)
at util.cryptage.MyBlowfish.deChiffrer(MyBlowfish.java:37)
... 24 more
Ca vous dit quelque chose?
Merci
Salut, laquelle des deux proposition de l’article a tu copié/collé ?
Ta chaine crtyptée contient elle des caractères spéciaux ou une longueur indécente?
As tu modifié le code? La TechnicalException “Erreur de décryptage” ressemble fort a un gestion des exception personnalisée, regarde de ce coté si tu ne peux pas avoir plus de précision sur l’erreur.
Merci pour ta réponse rapide.
TechnicalException est effectivement une exception perso qui se contente d’afficher la stacktrace.
J’ai utilisé la première méthode celle utilisant “Blowfish”.
D’après quelque essai, c’est la conversion byte[] -> String et String -> byte[] qui pose problème.
Voici ma méthode de teste (cette fois ci en laissant le traitement des exceptions telle qui l’est:
javax.crypto.BadPaddingException: Given final block not properly padded
(i=1)Le message décrypté est different du message d’origine
messageACrypter=v0jDBthWfWuO1uK4hTQKThy1dLTA
messageDecrypter=null
Par contre si je transmet / reutilise le “byte[]” plutot que de le transformer en String cela fonctionne.
Mhh, visiblement c’est un problème de cast byte vers string donc… Je vois mal d’ou ça peux venir d’autant que j’utilise plus la seconde méthode mais as tu déjà regardé par la :
http://www.commentcamarche.net/forum/affich-4669735-cryptage-decryptage-fichier , le problème semble similaire.
Oui j’ai vu et j’ai préféré la solution de ne plus faire la conversion.
Merci pour tes réponses
Désolé de ne pouvoir t’aider plus, bonne continuation 🙂
merci ça ma vraiment aider!!!
Bonjour les amis
laissez moi toutes vos préoccupations concernant vos problèmes techniques de montage d’antenne ou de fréquences
studioback@yahoo.fr et si vous êtes antennistes comme moi echangeons d’idées merci
Bonjour,
J’ai utilisé vos méthodes de cryptage cependant j’ai une erreure qui revient, a propos de la taille des blocs en effet il faut aparemment que ce soit un multiple de 8 enfin je ne comprends pas trop si vous pouviez m’en dire plus, voici l’exeption lors du décryptage ( le cryptage se passe normalement ) :
Input length must be multiple of 8 when decrypting with padded cipher
Pareil
salut je sis débutant dans les rat pourais je connaitre comment crypter mon server rat en fud
:p :siffle: :siffle: ^_^ 🙂 oO 🙁 <3 :p ^_^ ^_^ ^_^