コード例 #1
0
        private static UniversalCryptoTransform CreateTransformCore(
            CipherMode cipherMode,
            PaddingMode paddingMode,
            byte[] key,
            byte[]?iv,
            int blockSize,
            int paddingSize,
            int feedbackSize,
            bool encrypting)
        {
            SafeAlgorithmHandle algorithm = TripleDesBCryptModes.GetSharedHandle(cipherMode, feedbackSize);

            BasicSymmetricCipher cipher = new BasicSymmetricCipherBCrypt(algorithm, cipherMode, blockSize, paddingSize, key, false, iv, encrypting);

            return(UniversalCryptoTransform.Create(paddingMode, cipher, encrypting));
        }
コード例 #2
0
        private static ILiteSymmetricCipher CreateLiteCipher(
            CipherMode cipherMode,
            PaddingMode paddingMode,
            ReadOnlySpan <byte> key,
            ReadOnlySpan <byte> iv,
            int blockSize,
            int paddingSize,
            int feedbackSize,
            bool encrypting)
        {
            SafeAlgorithmHandle algorithm = TripleDesBCryptModes.GetSharedHandle(cipherMode, feedbackSize);

            return(new BasicSymmetricCipherLiteBCrypt(
                       algorithm,
                       cipherMode,
                       blockSize,
                       paddingSize,
                       key,
                       ownsParentHandle: false,
                       iv,
                       encrypting));
        }
コード例 #3
0
 SafeAlgorithmHandle ICngSymmetricAlgorithm.GetEphemeralModeHandle()
 {
     return(TripleDesBCryptModes.GetSharedHandle(Mode, FeedbackSize / 8));
 }
コード例 #4
0
 SafeAlgorithmHandle ICngSymmetricAlgorithm.GetEphemeralModeHandle(CipherMode mode, int feedbackSizeInBits)
 {
     return(TripleDesBCryptModes.GetSharedHandle(mode, feedbackSizeInBits / 8));
 }