Exemple #1
0
        /// <summary>
        /// 価格を暗号化します。
        /// </summary>
        /// <param name="crypto">暗号化オブジェクト。</param>
        /// <param name="price">暗号化対象の価格。</param>
        /// <returns>暗号化された価格を表す暗号文。常に非 <c>null</c>。</returns>
        /// <exception cref="ArgumentNullException"><paramref name="crypto"/> is <c>null</c>.</exception>
        public static string EncryptPrice(this ABCrypto crypto, decimal price)
        {
            if (crypto == null)
            {
                throw new ArgumentNullException(nameof(crypto));
            }

            Span <byte> iv      = stackalloc byte[ABCrypto.IVSize];
            var         success = ABIV.TryCreate(iv);

            Debug.Assert(success);

            return(EncryptPrice(crypto, price, iv));
        }