Exemple #1
0
        /// <summary>
        /// RestAPI 호출하여 RFID 확인
        /// </summary>
        private void RestAPI_CheckRFID()
        {
            System.Threading.Thread.Sleep(2000);

            HashLib.IHash      hash   = HashLib.HashFactory.Crypto.CreateSHA256();
            HashLib.HashResult digest = hash.ComputeString(strRfid.ToString(), Encoding.ASCII);
            {
                XstrHashedRFid = digest.ToString().Replace("-", "").ToLower();
            }
            XApiResponse = APIController.API_PostPurchaseId(XstrHashedRFid);

            if (XApiResponse != null && XApiResponse.code == 200)
            {
                apiResult = true;
            }
            else
            {
                apiResult = false;
            }
        }
        public byte[] ComputeBytes(byte[] input)
        {
            byte[] lHashResult = input;

            for (int it = 0; it < 2; it++)
            {
                _hashers[HashEnum.Blake].Initialize();
                _hashers[HashEnum.Blake].TransformBytes(lHashResult);

                HashLib.HashResult lresult = _hashers[HashEnum.Blake].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.Bmw].Initialize();
                _hashers[HashEnum.Bmw].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.Bmw].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.Groestl].Initialize();
                _hashers[HashEnum.Groestl].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.Groestl].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.skein].Initialize();
                _hashers[HashEnum.skein].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.skein].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.jh].Initialize();
                _hashers[HashEnum.jh].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.jh].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.keccak].Initialize();
                _hashers[HashEnum.keccak].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.keccak].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.luffa].Initialize();
                _hashers[HashEnum.luffa].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.luffa].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.CubeHash].Initialize();
                _hashers[HashEnum.CubeHash].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.CubeHash].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.shavite].Initialize();
                _hashers[HashEnum.shavite].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.shavite].TransformFinal();

                lHashResult = lresult.GetBytes();

                _hashers[HashEnum.simd].Initialize();
                _hashers[HashEnum.simd].TransformBytes(lHashResult);

                lresult = _hashers[HashEnum.simd].TransformFinal();

                lHashResult = lresult.GetBytes();

                lHashResult = _hashers[HashEnum.echo].ComputeBytes(lHashResult).GetBytes();
                lHashResult = _hashers[HashEnum.hamsi].ComputeBytes(lHashResult).GetBytes();
                lHashResult = _hashers[HashEnum.fugue].ComputeBytes(lHashResult).GetBytes();
                lHashResult = _hashers[HashEnum.shabal].ComputeBytes(lHashResult).GetBytes();
                lHashResult = _hashers[HashEnum.whirlpool].ComputeBytes(lHashResult).GetBytes();
                lHashResult = _hashers[HashEnum.sha].ComputeBytes(lHashResult).GetBytes();
                lHashResult = _hashers[HashEnum.Haval].ComputeBytes(lHashResult).GetBytes();
            }

            return(lHashResult.Take(32).ToArray());
        }