예제 #1
0
        internal AskMonaAuthKey GenerateAuthKey(string app_secretkey)
        {
            /*
             * 開発者シークレットキー、nonce、time、認証キーの作成に使うシークレットキーの順に連結した文字列を
             * SHA-256でハッシュ化し、そのバイナリデータをBase64でエンコードしたものが認証キーです。
             */
            var ak = new AskMonaAuthKey();

            SHA256 sha = SHA256.Create();

            byte[] _nonce = new byte[32];
            rnd.NextBytes(_nonce);
            ak.nonce = Convert.ToBase64String(_nonce);

            ak.time = AskMonaClient.ConvertToUnixTimestamp(DateTime.Now.ToUniversalTime()).ToString();

            ak.auth_key = Convert.ToBase64String(sha.ComputeHash(
                                                     Encoding.ASCII.GetBytes(
                                                         app_secretkey + ak.nonce + ak.time + secretkey
                                                         )));

            return(ak);
        }
예제 #2
0
		internal AskMonaAuthKey GenerateAuthKey(string app_secretkey)
		{
			/*
			 * 開発者シークレットキー、nonce、time、認証キーの作成に使うシークレットキーの順に連結した文字列を
			 * SHA-256でハッシュ化し、そのバイナリデータをBase64でエンコードしたものが認証キーです。
			 */
			var ak = new AskMonaAuthKey();

			SHA256 sha = SHA256.Create();

			byte[] _nonce = new byte[32];
			rnd.NextBytes(_nonce);
			ak.nonce = Convert.ToBase64String(_nonce);

			ak.time = AskMonaClient.ConvertToUnixTimestamp(DateTime.Now.ToUniversalTime()).ToString();

			ak.auth_key = Convert.ToBase64String(sha.ComputeHash(
				Encoding.ASCII.GetBytes(
				app_secretkey + ak.nonce + ak.time + secretkey
				)));

			return ak;
		}