Android生成哈希字符串sha256

时间:2012-04-16 21:58:39

标签: android hash

我正在尝试加密网址请求,用户名和密码,然后将其发布到网页。

但是出于某种原因,eclipse说语法错了,我做错了什么? 它位于底部,表示md.update导致错误。

到目前为止,这是我的代码:

private static final String apiKey = "38m8nyev284nddci49940303094"; 
private static final String apiUser = "esdt34ds"; 

long unixTimeStamp = System.currentTimeMillis() / 1000L;

String newFeedRequest = "1.0/evoStructure?timestamp=" + unixTimeStamp;
String fixturesFeedURL = "https://secure.website.com/_services/api/" + newFeedRequest;

MessageDigest md = MessageDigest.getInstance("SHA-256");


md.update(fixturesFeedURL.getBytes("UTF-8"),apiKey.getBytes("UTF-8"),apiUser.getBytes("UTF-8")); // Change this to "UTF-16" if needed
byte[] digest = md.digest();

以下是我遇到的错误:

  

此行有多个标记

     
      
  • 语法错误,插入“Type VariableDeclaratorId”以完成FormalParameterList
  •   
  • 令牌“update”上的语法错误,此令牌后预期的标识符
  •   
  • 令牌上的语法错误,而是预期的注释名称
  •   
  • 令牌“,”,@ expected
  • 上的语法错误   
  • 令牌“,”,@ expected
  • 上的语法错误   

1 个答案:

答案 0 :(得分:1)

这是一个神秘的错误。但我要说你没有使用update()

的正确参数

http://developer.android.com/reference/java/security/MessageDigest.html

API显示更新(ByteBuffer),更新(byte [],int,int),更新(byte []),更新(字节)。看不到任何内容(byte [],byte [],byte [])尝试调用

md.update(fixturesFeedURL.getBytes("UTF-8"));

md.update(apiKey.getBytes("UTF-8"));

md.update(apiUser.getBytes("UTF-8"));

代替