package com.util;
public class sha1 ;
// 摘要資料儲存陣列
private int digestint = new int[5];
// 計算過程中的臨時資料儲存陣列
private int tmpdata = new int[80];
// 計算sha-1摘要
private int process_input_bytes(byte bytedata)
// 摘要計算函式
encrypt();
} return 20;
} // 格式化輸入位元組陣列格式
private byte bytearrayformatdata(byte bytedata) else if (m == 56) else
// 補位後生成的新陣列內容
byte newbyte = new byte[size];
// 複製陣列的前面部分
system.arraycopy(bytedata, 0, newbyte, 0, n);
int l = n;
// 補1操作
newbyte[l++] = (byte) 0x80;
// 補0操作
for (int i = 0; i < zeros; i++)
// 計算資料長度,補資料長度位共8位元組,長整型
long n = (long) n * 8;
byte h8 = (byte) (n & 0xff);
byte h7 = (byte) ((n >> 8) & 0xff);
byte h6 = (byte) ((n >> 16) & 0xff);
byte h5 = (byte) ((n >> 24) & 0xff);
byte h4 = (byte) ((n >> 32) & 0xff);
byte h3 = (byte) ((n >> 40) & 0xff);
byte h2 = (byte) ((n >> 48) & 0xff);
byte h1 = (byte) (n >> 56);
newbyte[l++] = h1;
newbyte[l++] = h2;
newbyte[l++] = h3;
newbyte[l++] = h4;
newbyte[l++] = h5;
newbyte[l++] = h6;
newbyte[l++] = h7;
newbyte[l++] = h8;
return newbyte;
} private int f1(int x, int y, int z)
private int f2(int x, int y, int z)
private int f3(int x, int y, int z)
private int f4(int x, int y)
// 單元摘要計算函式
private void encrypt()
int tmpabcde = new int[5];
for (int i1 = 0; i1 < tmpabcde.length; i1++)
for (int j = 0; j <= 19; j++)
for (int k = 20; k <= 39; k++)
for (int l = 40; l <= 59; l++)
for (int m = 60; m <= 79; m++)
for (int i2 = 0; i2 < tmpabcde.length; i2++)
for (int n = 0; n < tmpdata.length; n++)
} // 4位元組陣列轉換為整數
private int bytearraytoint(byte bytedata, int i)
// 整數轉換為4位元組陣列
private void inttobytearray(int intvalue, byte bytedata, int i)
// 將位元組轉換為十六進製制字串
private static string bytetohexstring(byte ib) ;
char ob = new char[2];
ob[0] = digit[(ib >>> 4) & 0x0f];
ob[1] = digit[ib & 0x0f];
string s = new string(ob);
return s;
} // 將位元組陣列轉換為十六進製制字串
private static string bytearraytohexstring(byte bytearray)
return strdigest;
} // 計算sha-1摘要,返回相應的位元組陣列
public byte getdigestofbytes(byte bytedata)
return digest;
} // 計算sha-1摘要,返回相應的十六進製制字串
public string getdigestofstring(byte bytedata)
public static void main(string args)
}
iOS微信開放平台
按照常例,列一些 先 其實官方教程已經非常詳細了,我也是按照官方的一步步來得以實現,那為什麼寫這篇教程?有乙個最主要的目的是,減少沒必要的時間開銷,以及一些官方教程上面提到的一些盲區.開始 將資料分享給好友總共5個步驟,注意 不要亂了順序 1 在工程plist檔案中新增乙個url type url ...
微信開放平台登入
一 前期準備流程 1 註冊郵箱賬號。3 申請開發者資質認證 填寫相關資料 填寫發票 支付認證金額。提交並等待認證結果 5 認證成功後,建立移動應用,至少選擇安卓 ios wp8其中一種平台 注 建立應用和開發者資質認證可同時進行 準備工作大致流程圖 二 具體實現步驟 1 註冊郵箱賬號 支援網易郵箱 ...
ios應用接入微信開放平台
2 發訊息到朋友圈 3 收藏內容到 我的收藏 在朋友圈可以看到乙個訊息後面跟著 來自 這就是 應用接入開放平台後得到的能力 bool openurl nsurl url 傳送訊息的 是 wxapi sendreq req url位址是,wx xx platformid wechat 然後handle...