加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Android HMAC_SHA1 算法简单达成

发布时间:2021-11-22 13:25:05 所属栏目:教程 来源:互联网
导读:想签名以下信息: PUT /quotes/nelson HTTP/1.0 Content-Md5: c8fdb181845a4ca6b8fec737b3581d76 Content-Type: text/html Date: Thu, 17 Nov 2005 18:49:58 GMT X-OSS-Meta-Author: foo@bar.com X-OSS-Magic: abracadabra 假如AccessID是: 44CF9590006BF25

想签名以下信息:
PUT /quotes/nelson HTTP/1.0
Content-Md5: c8fdb181845a4ca6b8fec737b3581d76
Content-Type: text/html
Date: Thu, 17 Nov 2005 18:49:58 GMT
X-OSS-Meta-Author: foo@bar.com
X-OSS-Magic: abracadabra
假如AccessID是: "44CF9590006BF252F707"
AccessKey 是 "OtxrzxIsfpFjA7SwPzILwy8Bw21TLhquhboDYROV",可用以下
方法签名
 
签名计算结果应该为”63mwfl zYIOG6k95yxbgMruQ6QI=”
 
private String hmac_sha1(String key, String datas)  
    {  
        String reString = "";  
  
        try  
        {  
            byte[] data = key.getBytes("UTF-8");    
            //根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称     
            SecretKey secretKey = new SecretKeySpec(data, "HmacSHA1");     
            //生成一个指定 Mac 算法 的 Mac 对象     
            Mac mac = Mac.getInstance("HmacSHA1");     
            //用给定密钥初始化 Mac 对象     
            mac.init(secretKey);      
                        
            byte[] text = datas.getBytes("UTF-8");      
            //完成 Mac 操作      
            byte[] text1 = mac.doFinal(text);     
                     
            reString = Base64.encodeToString(text1, Base64.DEFAULT);  
  
        } catch (Exception e)  
        {  
            // TODO: handle exception   
        }  
          
        return reString;  
    }  

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读