/// <summary>
        ///
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        private VerificationCode InnerCreate(VerificationCodeCreateParam param)
        {
            if (param == null)
            {
                return(null);
            }

            VerificationCode result = new VerificationCode();

            result.Key = Guid.NewGuid().ToString("N");

            switch (param.Type)
            {
            case CodeCharacterTypeEnum.Character:
                result.Code = RandomCodeCreator.CreatRandomChar(param.CharacterCount);
                break;

            case CodeCharacterTypeEnum.Number:
                result.Code = RandomCodeCreator.CreatRandomNum(param.CharacterCount);
                break;

            case CodeCharacterTypeEnum.NumberAndCharacter:
                result.Code = RandomCodeCreator.CreatRandomNumAndChar(param.CharacterCount);
                break;
            }
            result.Image = RandomCodeImageCreator.Create(result.Code, param.FontSize);

            return(result);
        }
        public void TestCreatRandomNum()
        {
            string code1 = RandomCodeCreator.CreatRandomNum(6);
            string code2 = RandomCodeCreator.CreatRandomNum(6);

            Console.WriteLine($"code1:{code1}");
            Console.WriteLine($"code2:{code2}");

            Assert.AreNotEqual(code1, code2);
        }