le code est pour faire chiffrage d'un string avec une clé rotationnelle en modulo 26
on fait une rotation des lettres de l'alphabet avec la clé spécifiée
Source / Exemple :
package javafr;
import java.lang.*;
/**
*
- @author scupper
- @since 13:45 March 23rd 2011
*
public class CodeCesar {
private static int CESAR_KEY = 4;
public CodeCesar(){
}
public CodeCesar(int key){
setKey(key);
}
public int getKey(){
return this.CESAR_KEY;
}
public void setKey(int key){
this.CESAR_KEY=key;
}
public StringBuffer cypher(StringBuffer str,int key){
StringBuffer s = new StringBuffer();
int nKey = 0;
char c ;
//correction de la clé en modulo 26
nKey =key % 26;
setKey(nKey);
StringBuffer nStr=new StringBuffer(str.toString().toUpperCase());
for(int i =0;i<nStr.length();i++){
c = nStr.charAt(i);
int code = (char)(((int)c-65+nKey)%26 + 65);
s.append((char)code);
}
return s;
}
public static void main(String[] args){
CodeCesar obj = new CodeCesar();
System.out.println(obj.cypher( new StringBuffer("Hossame"), 5));
}
}
Conclusion :
run:
YJXYNSYMNXYJCY
BUILD SUCCESSFUL (total time: 1 second)