Exemplo n.º 1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="ECDSASigner"/> class.
        /// </summary>
        /// <param name="hashSize">Hash size of the curve</param>
        public ECDSASigner(HashSize hashSize)
        {
            switch (hashSize)
            {
            case HashSize.SHA256:
                _algorithmName = HashAlgorithmName.SHA256;
                Curve          = ECCurve.NamedCurves.nistP256;
                CurveName      = "P-256";
                JWSAlgorithm   = "ES256";
                break;

            case HashSize.SHA384:
                _algorithmName = HashAlgorithmName.SHA384;
                Curve          = ECCurve.NamedCurves.nistP384;
                CurveName      = "P-384";
                JWSAlgorithm   = "ES384";
                break;

            case HashSize.SHA512:
                _algorithmName = HashAlgorithmName.SHA512;
                Curve          = ECCurve.NamedCurves.nistP521;
                CurveName      = "P-521";
                JWSAlgorithm   = "ES512";
                break;
            }

            _dsa = ECDsa.Create(Curve);
        }
Exemplo n.º 2
0
        internal Haval(HashRounds a_rounds, HashSize a_hash_size)
            : base((int)a_hash_size, 128)
        {
            m_rounds = (int)a_rounds;

            Initialize();
        }
Exemplo n.º 3
0
 public Hasher(WildCardCollection wildcard, HashSize size, ILog logger)
     : base(logger)
 {
     this.Wildcard = wildcard;
     this.GetSize(size);
     ValidateRequest();
 }
Exemplo n.º 4
0
        internal Haval(int a_rounds, HashSize a_hashSize)
            : base((int)a_hashSize, 128)
        {
            m_rounds = a_rounds;

            Initialize();
        }
Exemplo n.º 5
0
        public Luffa256Base(HashSize a_hashSize)
            : base(a_hashSize)
        {
            m_result_blocks = 3;
            m_iv_length = 24;

            Initialize();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Find the size required.
        /// </summary>
        /// <param name="size">size indicator</param>
        protected void GetSize(HashSize size)
        {
            switch (size)
            {
            case HashSize.Infinity: this.Size = (int)HashSize.Infinity; break;

            case HashSize.Large: this.Size = (int)HashSize.Large; break;

            case HashSize.Medium: this.Size = (int)HashSize.Medium; break;
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// SHA3 加密
        /// </summary>
        /// <param name="value">待加密值</param>
        /// <param name="hashSize">SHA3 加密类型</param>
        /// <param name="encoding">编码格式</param>
        /// <returns></returns>

        public static string Sha3Encryption(string value, HashSize hashSize = HashSize.HashSize256, Encoding encoding = null)
        {
            var sha3    = HashLib.HashFactory.Crypto.SHA3.CreateKeccak(hashSize);
            var res     = sha3.ComputeBytes(encoding.GetBytes(value));
            var resByte = res.GetBytes();
            var sb      = new StringBuilder(130);

            for (int i = 0; i < resByte.Length; i++)
            {
                sb.Append(resByte[i].ToString("x2"));
            }
            return(string.Empty);
        }
Exemplo n.º 8
0
        public CubeHash(HashSize a_hashSize, int a_rounds = 16, int a_blockSize = 32)
            : base((int)a_hashSize, a_blockSize)
        {
            if(a_blockSize > 128)
                throw new ArgumentOutOfRangeException();
            if(a_blockSize < 1)
                throw new ArgumentOutOfRangeException();
            if(a_rounds > 32)
                throw new NotImplementedException();
            if(a_rounds < 1)
                throw new ArgumentOutOfRangeException();

            m_rounds = a_rounds;

            Initialize();
        }
Exemplo n.º 9
0
        private ulong HashMethodName(string name)
        {
            HashSize mode = HashSize.VarIntEightBytes;

            if (mode == HashSize.VarIntTwoBytes)
            {
                return(name.GetStableHash16());
            }
            if (mode == HashSize.VarIntFourBytes)
            {
                return(name.GetStableHash32());
            }
            if (mode == HashSize.VarIntEightBytes)
            {
                return(name.GetStableHash64());
            }

            return(0);
        }
Exemplo n.º 10
0
        internal static ulong GetPrefabHash(string prefabName)
        {
            HashSize mode = NetworkingManager.singleton.NetworkConfig.PrefabHashSize;

            if (mode == HashSize.VarIntTwoBytes)
            {
                return(prefabName.GetStableHash16());
            }
            if (mode == HashSize.VarIntFourBytes)
            {
                return(prefabName.GetStableHash32());
            }
            if (mode == HashSize.VarIntEightBytes)
            {
                return(prefabName.GetStableHash64());
            }

            return(0);
        }
Exemplo n.º 11
0
        private ulong HashMethodName(string name)
        {
            HashSize mode = NetworkingManager.Singleton.NetworkConfig.RpcHashSize;

            if (mode == HashSize.VarIntTwoBytes)
            {
                return(name.GetStableHash16());
            }
            if (mode == HashSize.VarIntFourBytes)
            {
                return(name.GetStableHash32());
            }
            if (mode == HashSize.VarIntEightBytes)
            {
                return(name.GetStableHash64());
            }

            return(0);
        }
Exemplo n.º 12
0
        private ulong HashMethodName(string name)
        {
            // todo : 함수를 구분하는 해시값이 64bit로 패킷 최적화가 필요해 보임
            HashSize mode = HashSize.VarIntEightBytes;

            if (mode == HashSize.VarIntTwoBytes)
            {
                return(name.GetStableHash16());
            }
            if (mode == HashSize.VarIntFourBytes)
            {
                return(name.GetStableHash32());
            }
            if (mode == HashSize.VarIntEightBytes)
            {
                return(name.GetStableHash64());
            }

            return(0);
        }
Exemplo n.º 13
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="RSASigner"/> class
        /// </summary>
        /// <param name="hashSize">Hash size of the key</param>
        public RSASigner(HashSize hashSize)
        {
            switch (hashSize)
            {
            case HashSize.SHA256:
                _hashAlgorithm = SHA256.Create();
                JWSAlgorithm   = "RS256";
                break;

            case HashSize.SHA384:
                _hashAlgorithm = SHA384.Create();
                JWSAlgorithm   = "RS384";
                break;

            case HashSize.SHA512:
                _hashAlgorithm = SHA512.Create();
                JWSAlgorithm   = "RS512";
                break;
            }

            _rsa = new RSACryptoServiceProvider(KeySize);
        }
Exemplo n.º 14
0
 private Tiger2_192(HashSize hashSize, HashRounds rounds)
     : base((int)hashSize, rounds)
 {
 }
Exemplo n.º 15
0
 public CubeHashCustom(HashSize a_hashSize, int a_rounds = 16, int a_blockSize = 32)
     : base(a_hashSize, a_rounds, a_blockSize)
 {
 }
Exemplo n.º 16
0
 public BlueMidnightWish512Base(HashSize a_hashSize)
     : base(128, a_hashSize)
 {
     Initialize();
 }
Exemplo n.º 17
0
 private Tiger_128(HashSize hashSize, HashRounds rounds)
     : base((int)hashSize, rounds)
 {
 }
Exemplo n.º 18
0
 public LuffaBase(HashSize a_hashSize)
     : base((int)a_hashSize, 32)
 {
 }
Exemplo n.º 19
0
 public JHBase(HashSize a_hash_size) :
     base((int)a_hash_size, 128, 64)
 {
     Initialize();
 }
Exemplo n.º 20
0
 public Hamsi512Base(HashSize a_hashSize)
     : base(a_hashSize, 8)
 {
 }
Exemplo n.º 21
0
 public Hamsi256Base(HashSize a_hashSize)
     : base(a_hashSize, 4)
 {
 }
Exemplo n.º 22
0
        public HamsiBase(HashSize a_hashSize, int a_blockSize)
            : base((int)a_hashSize, a_blockSize)
        {
            m_state = new uint[BlockSize * 2];

            Initialize();
        }
Exemplo n.º 23
0
 public Blake256Base(HashSize a_hash_size)
     : base(a_hash_size, 64)
 {
 }
Exemplo n.º 24
0
 public BlakeBase(HashSize a_hash_size, int a_block_size)
     : base((int)a_hash_size, a_block_size)
 {
     Initialize();
 }
Exemplo n.º 25
0
 public Blake512Base(HashSize a_hash_size)
     : base(a_hash_size, 128)
 {
 }
Exemplo n.º 26
0
 protected Fugue256Base(HashSize a_hashSize, int a_blockSize)
     : base(a_hashSize, a_blockSize)
 {
 }
Exemplo n.º 27
0
 public Echo256Base(HashSize a_hashSize)
     : base(a_hashSize, 192)
 {
 }
Exemplo n.º 28
0
        protected Snefru(HashRounds a_rounds, HashSize a_hashSize)
            : base((int)a_hashSize, 64 - ((int)a_hashSize))
        {
            m_rounds = (int)a_rounds;
            m_state = new uint[HashSize / 4];

            Initialize();
        }
Exemplo n.º 29
0
 public JHBase(HashSize a_hashSize)
     : base((int)a_hashSize, 128, 64)
 {
     Initialize();
 }
Exemplo n.º 30
0
 public Groestl512Base(HashSize a_hashSize)
     : base(a_hashSize, 128)
 {
 }
Exemplo n.º 31
0
 internal Blake3(HashSize hashSize, byte[] key) : this((int)hashSize,
Exemplo n.º 32
0
        public GroestlBase(HashSize a_hashSize, int a_blockSize)
            : base((int)a_hashSize, a_blockSize)
        {
            m_state = new ulong[BlockSize / 8];

            Initialize();
        }
Exemplo n.º 33
0
 public BlueMidnightWishBase(int a_blockSize, HashSize a_hashSize)
     : base((int)a_hashSize, a_blockSize)
 {
 }
Exemplo n.º 34
0
 public Groestl256Base(HashSize a_hashSize)
     : base(a_hashSize, 64)
 {
 }
Exemplo n.º 35
0
 public BlueMidnightWish256Base(HashSize a_hashSize)
     : base(64, a_hashSize)
 {
     Initialize();
 }
Exemplo n.º 36
0
                public static IHash CreateCubeHash(HashSize a_hashSize, int a_rounds = 16, int a_blockSize = 32)
                {
                    if(a_blockSize < 1)
                        throw new ArgumentOutOfRangeException();
                    if(a_blockSize > 128)
                        throw new ArgumentOutOfRangeException();
                    if(a_rounds < 1)
                        throw new ArgumentOutOfRangeException();

                    if((a_rounds == 16) && (a_blockSize == 32))
                    {
                        switch(a_hashSize)
                        {
                            case HashSize.HashSize224:
                                return CreateCubeHash224();
                            case HashSize.HashSize256:
                                return CreateCubeHash256();
                            case HashSize.HashSize384:
                                return CreateCubeHash384();
                            case HashSize.HashSize512:
                                return CreateCubeHash512();
                            default:
                                throw new ArgumentException();
                        }
                    }
                    else
                    {
                        switch(a_hashSize)
                        {
                            case HashSize.HashSize224:
                                return new CubeHashCustom(a_hashSize, a_rounds, a_blockSize);
                            case HashSize.HashSize256:
                                return new CubeHashCustom(a_hashSize, a_rounds, a_blockSize);
                            case HashSize.HashSize384:
                                return new CubeHashCustom(a_hashSize, a_rounds, a_blockSize);
                            case HashSize.HashSize512:
                                return new CubeHashCustom(a_hashSize, a_rounds, a_blockSize);
                            default:
                                throw new ArgumentException();
                        }
                    }
                }
Exemplo n.º 37
0
 public Shabal(HashSize a_hash_size)
     : base((int)a_hash_size, 64)
 {
     Initialize();
 }
Exemplo n.º 38
0
 public CubeHash(HashSize aHashSize)
     : base((int)aHashSize, 32)
 {
     Initialize();
 }
Exemplo n.º 39
0
 public Hasher(string wildcard, HashSize size, ILog logger) : base(logger)
 {
     this.Wildcard = new WildCardCollection(wildcard);
     this.GetSize(size);
     ValidateRequest();
 }
Exemplo n.º 40
0
 internal Haval4(HashSize a_hash_size)
     : base(HashRounds.Rounds4, a_hash_size)
 {
 }
Exemplo n.º 41
0
 public FugueBase(HashSize a_hashSize, int a_blockSize)
     : base((int)a_hashSize, a_blockSize, 4)
 {
     Initialize();
 }
Exemplo n.º 42
0
 internal Haval5(HashSize a_hash_size)
     : base(HashRounds.Rounds5, a_hash_size)
 {
 }
Exemplo n.º 43
0
 public EchoBase(HashSize a_hashSize, int a_blockSize)
     : base((int)a_hashSize, a_blockSize)
 {
     Initialize();
 }
        public static string ComputeHash(string password, string salt, SaltMethod saltMethod = SaltMethod.DoubleSalt, HashSize hashSize = HashSize.S160)
        {
            if (string.IsNullOrWhiteSpace(password))
            {
                throw new ArgumentNullException("password");
            }
            if (string.IsNullOrWhiteSpace(salt))
            {
                throw new ArgumentNullException("salt");
            }

            string saltedPassword = GetSaltedPassword(password, salt, saltMethod);

            byte[] bytesOfString = RandomStringGenerator.GetBytesFromString(saltedPassword);
            byte[] hash          = ComputeHash(bytesOfString, hashSize);
            return(RandomStringGenerator.ToEncodedString(hash));
        }
Exemplo n.º 45
0
 public Echo512Base(HashSize a_hashSize)
     : base(a_hashSize, 128)
 {
 }
        public static bool VerifyPassword(string password, string salt, string storedHash, SaltMethod saltMethod = SaltMethod.DoubleSalt, HashSize hashSize = HashSize.S160)
        {
            if (string.IsNullOrWhiteSpace(password))
            {
                throw new ArgumentNullException("password");
            }
            if (string.IsNullOrWhiteSpace(salt))
            {
                throw new ArgumentNullException("salt");
            }

            string verifyHash = ComputeHash(password, salt, saltMethod, hashSize);

            return(verifyHash == storedHash);
        }
Exemplo n.º 47
0
 internal Haval3(HashSize a_hash_size)
     : base(HashRounds.Rounds3, a_hash_size)
 {
 }
Exemplo n.º 48
0
 public static IHash CreateLuffa(HashSize a_hashSize)
 {
     switch(a_hashSize)
     {
         case HashSize.HashSize224:
             return CreateLuffa224();
         case HashSize.HashSize256:
             return CreateLuffa256();
         case HashSize.HashSize384:
             return CreateLuffa384();
         case HashSize.HashSize512:
             return CreateLuffa512();
         default:
             throw new ArgumentException();
     }
 }