Pessoal preciso implementar em Java uma rotina de criptografia que utilizamos feita em Delphi. O Delphi usa caracteres ASCII de 8 bits e a criptrografia quase sempre me gera caracteres entre 128 e 255 na tabela ASCII. Preciso que o Java reconheça aqueles caracteres diferentes, mas não sei como fazer isso. Quando o número ultrapassa 127 e não reconhece os caracteres e me traz tudo como uma interrogação(?). Tentei passar minha string pra UTF8, mas não deu certo, não consegui.
Alguém sabe como fazer isso e pode me ajudar? Estrou precisando disso urgente. Os caracteres que preciso reconhecer são esses aí que link remete.
Posta o código pra gente olhar como você está tentando ler.
W
wenderjosePJ
Só codifiquei o Encode. Ainda falta o Decode. Execute pra você ver, vai aparece a seguinte saída: ??ó?
publicclassEncodeDecode{privateStringkey="RarbOcodNenfAgahLiljDkolmSnsoCpcqHrhsMwmxIyizTtzhk";publicintAsc(Stringinstring){intretorno=0;try{if(instring=="")retorno=0;elseretorno=(int)instring.charAt(0);}catch(Exceptione){e.printStackTrace();}returnretorno;}publicStringEncode(Stringdado){Stringretorno="";intl,i,j;try{byte[]ascii=dado.getBytes("UTF8");Stringstrascii=newString(ascii,"UTF8");j=0;for(i=0;i<strascii.length();i++){l=Asc(strascii.substring(i,i+1))+Asc(key.substring(j,j+1));if(j==49)j=0;if(l>255)l=l-256;j++;retorno=retorno+(char)l;}}catch(Exceptione){e.printStackTrace();}returnretorno;}// Falta implementar o decodepublicStringDencode(Stringdado){Stringretorno="";try{}catch(Exceptione){e.printStackTrace();}returnretorno;}publicstaticvoidmain(Stringargs[]){try{Stringsentenca="1204";byte[]ascii=sentenca.getBytes("ASCII");Stringstrascii=newString(ascii,"ASCII");EncodeDecodeed=newEncodeDecode();System.out.println(ed.Encode(strascii));}catch(Exceptione){e.printStackTrace();}}}