wangjiang123_个人页

个人头像照片 wangjiang123
个人头像照片
0
2
0

个人介绍

暂无个人介绍

擅长的技术

  • Python
  • 容器
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
  • 提交了问题 2015-08-02

    为什么java服务器把加签结果返给客户端,总说signature不匹配!!!!!

暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 提交了问题 2015-08-02

    为什么java服务器把加签结果返给客户端,总说signature不匹配!!!!!

  • 回答了问题 2015-08-02

    为什么java服务器把加签结果返给客户端,总说signature不匹配!!!!!

    Re为什么java服务器把加签结果返给客户端,总说signature不匹配!!!!! 献上源码: Client: ossService.setGlobalDefaultTokenGenerator(new TokenGenerator() { // 璁剧疆鍏ㄥ眬榛樿鍔犵鍣�             @Override             public String generateToken(String httpMethod, String md5, String type, String date,                     String ossHeaders, String resource) {                 String content = httpMethod + '\n' + md5 + '\n' + type + '\n' + date + '\n' + ossHeaders                         + resource;                 try {                     //Create a socket to connect to the server                     Socket socket=new Socket(serverUri,8000);                     //Create an input stream to receive data from the server                     fromServer=socket.getInputStream();                     BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(fromServer));                     //Create an output stream to send data from the server                     toServer=socket.getOutputStream();                     PrintWriter printWriter=new PrintWriter(toServer);                     content=content.replace('\n', '!');                     content=content+'\n';                     //Send content to server                     printWriter.write(content);                     //Test                     textView1.setText('content has been already sent.It's value is '+content);                     printWriter.flush();                     //Recieve signature from server                     while (true) {                         signResult=bufferedReader.readLine().trim();                         if(signResult!=null){                             //Test                             textView2.setText('Signature has already recieved.It's value is '+signResult);                             break;                         }                     }                     fromServer.close();                     bufferedReader.close();                     toServer.close();                     printWriter.close();                     socket.close();                 } catch (UnknownHostException e) {                     e.printStackTrace();                 } catch (IOException e) {                     e.printStackTrace();                 }                 //return 'OSS ' + accessKey + ':' + signature; // 注意'OSS'和accessKey之间存在一个空格!!!                 return signResult;             }         }); Server: public static void main(String[] args) throws NoSuchAlgorithmException,InvalidKeyException{                    try{                 //Create a server socket                 serverSocket=new ServerSocket(8000);                                //Listen for a connection request                 socket=serverSocket.accept();                 //Create data input and output streams                 inputFromClient=socket.getInputStream();                 bufferedReader=new BufferedReader(new InputStreamReader(inputFromClient));                                  outputToClient=socket.getOutputStream();                 printWriter=new PrintWriter(outputToClient);                 while (true) {                     //Receive radius from the client                                          String getContent=bufferedReader.readLine();                                          //Test                     if(getContent!=null){                         getContent=getContent.replace('!', '\n');                         System.out.println('Recieved content successful! It's:'+getContent);                         //getContent=getContent.substring(0,getContent.length()-2);                          //Encode                         String signResult=null;                         try {                             //signResult=OSSToolKit.generateToken(accessKey, secretKey, getContent);                             HmacSHA1Signature hmacSHA1Signature=new HmacSHA1Signature();                             signResult='OSS ' + accessKey + ':'+hmacSHA1Signature.computeSignature(secretKey, getContent);                             signResult=signResult.trim();                         } catch (Exception e) {                             // TODO: handle exception                             OSSLog.logD(e.toString());                         }                                                  //Test                         if(signResult!=null){                             System.out.println('Encode signature successful! It's:'+signResult);                         }else {                             System.out.println('signature is null!');                         }                         //Send signature to the client                         printWriter.write(signResult);                         System.out.println('Send signature is successful!');                         printWriter.flush();                         break;                     }                                      }                 inputFromClient.close();                 bufferedReader.close();                 outputToClient.close();                 printWriter.close();                 socket.close();                 serverSocket.close();                              }             catch(IOException e){                 e.printStackTrace();             }                   } ------------------------- 回2楼徇云一五的帖子 官方的java代码,你是指 客户端+服务器 都是pc的方式。我跑过了,没问题的。而且 客户端+服务器 都是pc的方式并没有涉及到 服务器加签 操作。晕。。 ------------------------- 回5楼qq449774982的帖子 你那边也是 android客户端,服务器加密签方式?服务器用java吗?? 我java服务器也是用OSSToolKit.generateToken(accessKey, screctKey, content); 这个方法加密么??可是为什么一直返回null??
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息