1. 程式人生 > >Android HMAC_SHA1 演算法簡單實現

Android HMAC_SHA1 演算法簡單實現

想簽名以下資訊:
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: [email protected]
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;
	}

相關推薦

Android HMAC_SHA1 演算法簡單實現

想簽名以下資訊: PUT /quotes/nelson HTTP/1.0 Content-Md5: c8fdb181845a4ca6b8fec737b3581d76 Content-Type:

Unity(Android版)和Android原生APP簡單實現版本更新

directory 代碼 server 頁面 提示框 自動安裝 obj nis 查看 版本檢測接口說明:(1)請求post,無參數(2)調用地址:http://www.baidu.com/rs/ver/info(3)返回結果:{ "verCode": "2",

Android 商品分類(簡單實現 僅供參考)

  //匯入依賴 implementation 'com.android.support:recyclerview-v7:28.0.0' //首先在activity頁面新增兩個水平的RecyclerView <?xml version="1.0" encoding="

深度學習入門—BP演算法簡單實現

""" BP演算法的簡單實現,這裡只有三層網路,目的在於說明其執行過程 除錯時可以控制輸入的迭代次數和學習率,這樣可以動態地看執行效果 當迭代次數過大時,會出現過擬合情況,親測 """ import numpy as np def sigmoid(x): #設

Android 通訊錄的簡單實現

類似於Android中通訊錄的實現 開發中難免會遇到類似於通訊錄的開發,做出來供大家參考。 實現圖 圖一為點選右方的字母實現圖,連結串列會到F的那個條目 圖二為效果圖 具體程式碼 這裡需要匯入一個 pinyin4j-2.5.0.jar 包是將漢字轉為拼音的ja

程序排程模擬程式設計-----FCFS演算法簡單實現

題目描述: 一.實驗目的和要求 加深對程序概念和程序排程過程/演算法的理解。本實驗要求用高階語言編寫和除錯一個模擬動態優先權的程序排程演算法程式。 二、實驗內容 1.給出程序排程的演算法描述(如基於動態優先順序和時間片輪轉排程演算法的描述)。 2.用C語言設計一個對n個併發

計算機作業系統排程演算法——短作業優先演算法簡單實現

//排程演算法的模擬 //1.SJF 短作業優先演算法 #include<stdio.h> #include <malloc.h> #include <string> #include <string.h> #include

協同過濾演算法簡單實現

以下的程式碼主要是來自《推薦系統實踐》第二章節,修改了一些書上的錯誤,簡單的實現了基於使用者的協同過濾演算法和基於物品的協同過濾演算法,可供參考:  import math import random from collections import defaultdict from o

android 備忘錄之簡單實現

首先建立儲存備忘錄資訊的表: DbHelper.java package com.cjq.androidbwl; import android.content.Context; import android.database.sqlite.SQLiteDatabase;

NLP——Kmeans聚類演算法簡單實現

本例中主要是對二維點進行距離計算,開始得時候選取兩個心,最終聚為兩簇。 結束條件的判斷有很多種,這裡採用的是最簡單的:當兩個心不再變化了,則停止聚類。 內部距離和可以不需要計算,這裡輸出來做結果評估用。 public class Km_w2 { //初始

android之ViewPager簡單實現區域性頁面滑動效果

-Viewpager能實現什麼效果? -實現左右滑動,切換view的效果。 -既可以實現整個頁面左右滑動,也可以實現同一個頁面中區域性左右滑動。 搞清楚viewpager的作用後,開始寫一個簡單例子,實現同一個頁面中區域性滑動的效果。 在coding前要做的準備工作 2

Dijkstra演算法簡單實現(C++)

圖的最短路徑問題主要包括三種演算法: (1)Dijkstra (沒有負權邊的單源最短路徑) (2)Floyed (多源最短路徑) (3)Bellman (含有負權邊的單源最短路徑) 本文主要講使用C++實現簡單的Dijkstra演算法 Dijkstra演算法簡單實現(C++) 1 #in

android 浮層簡單實現、activity設定Theme

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent

Android學習筆記——簡單實現照相、錄音和錄影功能

       Android菜鳥第一次寫原創部落格,大神請輕噴,共同進步。     最近剛接觸到如何實現一個簡單的照相機功能,然後又將錄音和錄影功能加了進去。ps:錄影功能相對複雜,自己實現起來比較困難,我就直接在程式裡呼叫系統的錄影功能了。以後在慢慢學習:)好,言歸正傳。

Android開發-ScrollView簡單實現滾動-AndroidStudio

唯一需要注意的是,ScrollView中間只能有一個控制元件,所以需要用LinearLayout把你的東西都包進去。 <ScrollView android:layout_width="fil

Android一級購物車簡單實現

MainActivity類 package wangyetian.bwie.com.shopcar; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import and

android 鬧鐘的簡單實現

private AlarmManager am; private Intent alarmIntent; private PendingIntent alarm_pi; private MediaPlayer mp; am = (AlarmManager) getSyst

Android簡單實現將手機圖片上傳到server中

sdk etc mov 創建 ast bmi 以及 lena ews 在本例中。將會簡單的實現安卓手機將圖片上傳到server中。本例使用到了 server端:PHP+APACHE 客戶端:JAVA 先簡單實現一下server端的上傳並測試上傳

IDA 調試 Android 方法及簡單的脫殼實現

all fun cati chm std function sso .apk 代碼位置 IDA 調試 Android 方法及簡單的脫殼實現 標簽: android原創逆向調試dalvik 2016-05-24 14:24 9286人閱讀 評論(3) 收藏

安卓音、視頻播放功能簡單實現 --Android基礎

ket undle 顯示 perm err efault 繼續 bre mpat 1、音樂播放功能 關鍵代碼: MainActivity.java: package thonlon.example.cn.musicdemowithoutservice;import