String key="this is stack Overflow i am implementing aes algorithm"; //plaintext
String binary=stringToBinary(key); //convertion from plain text to binarydigits
String res[]=split_at(binary,8); //split binary digits into 8 bits
int c=0,r=0;
for(int i=0;i<res.length;i++) //convert each 8 bits into hexadecimal
{
userKey[r][c]=binaryToHex(res[i]);
c++;
if(c==4)
{
c=0;
r++;
if(r==4)
break;
}
}
public static String[][] split_at(String str,int no)//method
{
int i=0;
int x=0;
int l=str.length();
String res[]=new String[(l/no)+1];
int f=0;
while(no<1){
res[f]=str.substring(i,no);
i=i+x;
no=no+x;
f++;
}
if(i<1){
res[f]=str.substring(i,1);
}
return res;
}
我已经尝试过这个。但我不知道它是否正确。告诉我这个过程是否正确?如果不正确,请建议我如何将明文转换为十六进制。
最佳答案
将字符串的每个字符转换为int
:
int character = (int) str.charAt(i);
然后获取 int
的十六进制表示形式:
String hexString = Integer.toHexString(character);
关于java - 如何用java编写代码将明文转换为十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37998155/