// Token: 0x0600000E RID: 14 RVA: 0x000022E8 File Offset: 0x000004E8 private IntPtr OpenAlgorithmProvider(string alg, string provider, string chainingMode) { IntPtr zero = IntPtr.Zero; uint num = BCrypt.BCryptOpenAlgorithmProvider(out zero, alg, provider, 0U); bool flag = num > 0U; if (flag) { throw new CryptographicException(string.Format("BCrypt.BCryptOpenAlgorithmProvider() failed with status code:{0}", num)); } byte[] bytes = Encoding.Unicode.GetBytes(chainingMode); num = BCrypt.BCryptSetAlgorithmProperty(zero, BCrypt.BCRYPT_CHAINING_MODE, bytes, bytes.Length, 0); bool flag2 = num > 0U; if (flag2) { throw new CryptographicException(string.Format("BCrypt.BCryptSetAlgorithmProperty(BCrypt.BCRYPT_CHAINING_MODE, BCrypt.BCRYPT_CHAIN_MODE_GCM) failed with status code:{0}", num)); } return(zero); }
private IntPtr OpenAlgorithmProvider(string alg, string provider, string chainingMode) { IntPtr hAlg = IntPtr.Zero; uint status = BCrypt.BCryptOpenAlgorithmProvider(out hAlg, alg, provider, 0x0); if (status != BCrypt.ERROR_SUCCESS) { throw new CryptographicException(string.Format("BCrypt.BCryptOpenAlgorithmProvider() failed with status code:{0}", status)); } byte[] chainMode = Encoding.Unicode.GetBytes(chainingMode); status = BCrypt.BCryptSetAlgorithmProperty(hAlg, BCrypt.BCRYPT_CHAINING_MODE, chainMode, chainMode.Length, 0x0); if (status != BCrypt.ERROR_SUCCESS) { throw new CryptographicException(string.Format("BCrypt.BCryptSetAlgorithmProperty(BCrypt.BCRYPT_CHAINING_MODE, BCrypt.BCRYPT_CHAIN_MODE_GCM) failed with status code:{0}", status)); } return(hAlg); }