internal static HashAlgorithm GetHashAlgorithm(Type type = null)
        {
            if (type == null)
            {
#if UNITY_2020_1_OR_NEWER
                // New projects on 2021.1 will default useSpookyHash to true
                // Upgraded projects will remain false until they choose to switch
                type = ScriptableBuildPipeline.useV2Hasher ? typeof(SpookyHash) : typeof(MD5);
#else
                type = typeof(MD5);
#endif
            }

            if (type == typeof(MD4))
            {
                return(MD4.Create());
            }
#if UNITY_2019_3_OR_NEWER
            if (type == typeof(SpookyHash))
            {
                return(SpookyHash.Create());
            }
#endif

            // TODO: allow user created HashAlgorithms?
            var alggorithm = HashAlgorithm.Create(type.FullName);
            if (alggorithm == null)
            {
                throw new NotImplementedException("Unable to create hash algorithm: '" + type.FullName + "'.");
            }
            return(alggorithm);
        }
Esempio n. 2
0
        internal static HashAlgorithm GetHashAlgorithm()
        {
#if UNITY_2020_1_OR_NEWER
            // New projects on 2021.1 will default useSpookyHash to true
            // Upgraded projects will remain false until they choose to switch
            return(ScriptableBuildPipeline.useV2Hasher ? (HashAlgorithm)SpookyHash.Create() : new MD5CryptoServiceProvider());
#else
            return(new MD5CryptoServiceProvider());
#endif
        }
Esempio n. 3
0
        static HashAlgorithm GetHashAlgorithm(Type type)
        {
            if (type == typeof(MD4))
            {
                return(MD4.Create());
            }
#if UNITY_2019_3_OR_NEWER
            if (type == typeof(SpookyHash))
            {
                return(SpookyHash.Create());
            }
#endif

            // TODO: allow user created HashAlgorithms?
            var alggorithm = HashAlgorithm.Create(type.FullName);
            if (alggorithm == null)
            {
                throw new NotImplementedException("Unable to create hash algorithm: '" + type.FullName + "'.");
            }
            return(alggorithm);
        }