【发布时间】:2014-11-06 12:46:25
【问题描述】:
在 Java 中是否有将字符串的值转换为 long 的方法?
显然,String.format("%040x", new BigInteger(1, message.getBytes(message))); 只改变了它的格式而不是值。我需要更改该值,因为我将使用转换后的变量进行加密(PRINCE)过程,该过程将以长(十六进制)格式处理。
public void onClick(View v, String args)
{
String phoneNo = txtPhoneNo.getText().toString();
String message = txtMessage.getText().toString();
if (phoneNo.length()>0 && message.length()>0){
//prince pri = new prince();
//message = toLong();
String.format("%040x", new BigInteger(1, message.getBytes(message)));
prince.Encrypt (message, k0, kop, k1, t);
sendSMS(phoneNo, message); }
else
Toast.makeText(getBaseContext(),
"Please enter both phone number and message.",
Toast.LENGTH_SHORT).show();
}
【问题讨论】:
-
以
message的内容为例。 -
它可以是任何支持 160 个字符的句子,因为这个应用程序用于发送短信 @Aaron Digulla
-
在这种情况下你不认为你需要更多的
long值吗?描述一下 PRINCE 需要的输入值,然后问如何将某个类型的消息转换成输入值? -
您可能需要 二进制 值。你不应该说 hexadecimal 值,除非你指的是二进制值的人类可读字符串编码。在您的情况下,二进制值应表示为字节数组(通常用于加密)或长整数。
-
您打算使用哪种加密模式? ECB(不安全)、CBC 还是 CTR?
标签: java android string cryptography type-conversion