Alguém sabe como transformar esse código em Java ???
char* __fastcall Criptografia (char *pStr)
{
char *pS;
pS = pStr;
while (*pS)
{
*pS += 5;
++pS;
}
pS = NULL;
return pStr;
}
Eu não manjo de Delphi…
é melhor vc dizer o q o programa faz, dai posso te dizer como fazer em Java…
Eu gostaria pegar uma string, por exemplo casa e somar + 5 com o valor de seu caracter em UNICODE emDelphi seria ASCII,
Por exemplo se fosse número ao digitar 123 queria que devolvesse 678…
Porém eu não keria número e sim string… Deu pra entender mais ou menos ??
humm…na verdade ficou meio confuso a sua explicação…
Mas tente usar o método substring();
1 perguntinha…vc sabe alguma coisa de Java?
[quote=“Kelly”]Alguém sabe como transformar esse código em Java ???
char* __fastcall Criptografia (char *pStr)
{
char *pS;
pS = pStr;
while (*pS)
{
*pS += 5;
++pS;
}
pS = NULL;
return pStr;
}[/quote]
:shock:
Mas que versão do Delphi é essa!? Isso é C!
pra ir adiantando, fiz um exemplinho que mostra o caracter unicode da String, a classe String tem uma classe chamada hashCode() que possibilita isso
public class Unicodes
{
public static void main(String args[])
{
System.out.println("Unicode de r = "+new String("q").hashCode());
}
}
só me diz uma coisa pra ver se eutendi mesmo… vc quer somar cada valor de cada valor da tabela ascII de cada caracter e somar mais 5 a esta soma… se for isso como 123 gera 678, sendo o códgi ascII de 1, 2, 3 são respectivamente: 49, 50, 51?
Isso, é isso mesmo… vou testar seu exemplo para ver se da certo…
vc não respondeu todo o meu post!!
isto resolve o problema
public class Class1 {
public static void main(String[] args){
String str = "12345";
char[] arr = str.toCharArray();
for (int i=0;i<arr.length;i++){
arr[i] = (char) (arr[i]+3);
}
str = new String(arr);
System.out.println(str);
}
}
So lembrando que isso nao eh criptografia que preste. Se voce for usar um algoritmo desse pra proteger dados sensiveis, como senhas ou documentos, considere dar uma lida melhor na documentacao do Java.
Acho que qualquer criança que saiba resolver palavras cruzadas, com um pouco de incentivo, consegue decifrar esse código.
É só ver que
ABCDEFGHIJKLMNOPQRSTUVWXYZ
é “cifrada” para
FGHIJKLMNOPQRSTUVWXYZ[]^_´
Chega a ser mais ingênuo que o “ROT-13” (que tem a vantagem de ser um “algoritmo de criptografia reversível”). Para quem não sabe o que é o ROT-13, cada letra é substituída pela letra que está 13 posições à frente (se for de A até M) ou 13 posições atrás (se for de N até Z.)
mas é só a kelly dar uma olhadinha nas api´s de java, se eu não me engano no pacote security que tá morta a lebre