Base64

以下加密首先转换成GBK编码,再返回Base64解析后的数据

         /// <summary>/// Base64加密(GBK格式)/// </summary>/// <param name="Message"></param>/// <returns></returns>public static string Base64Code(string rel){if (string.IsNullOrEmpty(rel)) return "";//byte[] bytes = Encoding.Default.GetBytes(rel);var buffer = Encoding.GetEncoding("GBK").GetBytes(rel);return Convert.ToBase64String(buffer);}

图片转base64

        /// <summary>/// 图片转base64/// </summary>/// <param name="Imagefilename">图片文件地址</param>/// <returns></returns>public static string ImgToBase64String(string Imagefilename){try{Bitmap bmp = new Bitmap(Imagefilename);MemoryStream ms = new MemoryStream();bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);byte[] arr = new byte[ms.Length];ms.Position = 0;ms.Read(arr, 0, (int)ms.Length);ms.Close();String strbaser64 = Convert.ToBase64String(arr);return strbaser64;}catch (Exception ex){//LogHelper.Debug(ex);return "";}}
        /// <summary>/// 将PDF转换图片/// </summary>/// <param name="pdfInputPath">PDF文件路径</param>/// <param name="imageOutputPath">图片输出路径</param>/// <param name="imageName">生成图片的名字</param>/// <param name="startPageNum">从PDF文档的第几页开始转换</param>/// <param name="endPageNum">从PDF文档的第几页开始停止转换</param>/// <param name="imageFormat">设置所需图片格式</param>/// <param name="definition">设置图片的清晰度,数字越大越清晰</param>public static string[] PdfToJPEG(string pdfInputPath, string imageOutputPath,string imageName, int startPageNum, int endPageNum, ImageFormat imageFormat, int definition){List<string> outFileList = new List<string>();PDFFile pdfFile = PDFFile.Open(pdfInputPath);if (!Directory.Exists(imageOutputPath)){Directory.CreateDirectory(imageOutputPath);}// pdf pageNumif (startPageNum <= 0){startPageNum = 1;}if (endPageNum > pdfFile.PageCount){endPageNum = pdfFile.PageCount;}if (startPageNum > endPageNum){int tempPageNum = startPageNum;startPageNum = endPageNum;endPageNum = startPageNum;}// 转换每一页if (endPageNum == 1){Bitmap pageImage = pdfFile.GetPageImage(1 - 1, 56 * (int)definition);pageImage.Save(imageOutputPath + imageName + "." + imageFormat, imageFormat);pageImage.Dispose();outFileList.Add(imageOutputPath + imageName + "." + imageFormat);}else{for (int i = startPageNum; i <= endPageNum; i++){Bitmap pageImage = pdfFile.GetPageImage(i - 1, 56 * (int)definition);pageImage.Save(imageOutputPath + imageName + i + "." + imageFormat, imageFormat);pageImage.Dispose();outFileList.Add(imageOutputPath + imageName + i + "." + imageFormat);}}pdfFile.Dispose();return outFileList.ToArray(); ;}

AES/CBC/PKCS5

        /// <summary>  /// AES/CBC/PKCS5  加密/// </summary>  /// <param name="encryptStr">明文</param>  /// <param name="key">密钥</param>  /// <returns></returns>protected static string Encrypt(string encryptStr, string key, string IV){if (string.IsNullOrEmpty(encryptStr)) return null;var _aes = new AesCryptoServiceProvider();_aes.BlockSize = 128;_aes.KeySize = 256;_aes.Key = Encoding.UTF8.GetBytes(key);_aes.IV = Encoding.UTF8.GetBytes(IV); //(byte[])(object)new sbyte[16];_aes.Padding = PaddingMode.PKCS7;_aes.Mode = CipherMode.CBC;var _crypto = _aes.CreateEncryptor(_aes.Key, _aes.IV);byte[] encrypted = _crypto.TransformFinalBlock(Encoding.UTF8.GetBytes(encryptStr), 0, Encoding.UTF8.GetBytes(encryptStr).Length);_crypto.Dispose();return System.Convert.ToBase64String(encrypted);}
        /// <summary>/// 解密 AES/CBC/PKCS5 /// </summary>/// <param name="decryptStr">需解密字符串</param>/// <param name="key">密钥</param>/// <param name="IV">偏移量</param>/// <returns></returns>public static string Decrypt(string decryptStr, string key, string IV){if (string.IsNullOrEmpty(decryptStr)) return null;var _aes = new AesCryptoServiceProvider();_aes.BlockSize = 128;_aes.KeySize = 256;_aes.Key = Encoding.UTF8.GetBytes(key);_aes.IV = Encoding.UTF8.GetBytes(IV);// (byte[])(object)new sbyte[16];_aes.Padding = PaddingMode.PKCS7;_aes.Mode = CipherMode.CBC;var _crypto = _aes.CreateDecryptor(_aes.Key, _aes.IV);byte[] decrypted = _crypto.TransformFinalBlock(System.Convert.FromBase64String(decryptStr), 0, System.Convert.FromBase64String(decryptStr).Length);_crypto.Dispose();return Encoding.UTF8.GetString(decrypted);}

C# Base64编码、AES等编码加、解密相关推荐

  1. aes 256 ecb 加解密 pkcs7补全 python JS

    python aes 256 ecb 加解密 功能 实现 Python ECB 256 JS版本 ECB 算法 JS版本 CBC 算法Pkcs7填充 SQL AES 在线验证网站 notice 功能 ...

  2. aes加密算法python语言实现_如何用Python实现AES CCM的加解密

    1.简介 AES CCM被广泛应用于现代通讯中,在学习过程中需要验证数据的加解密的结果,那么有个方便修改的Python脚本工具就是一个迫切的需求. 2. 实施 我们下面介绍如何实现AES CCM的Py ...

  3. Java实现Base64、DES、AES、RSA加解密以及加密方式之间的区别

    Base64 加密, 这个其实不可以算作加密方法,它可以看作是一种编码方式,它的用途只是二进制数字和字符串进行相互转化. Base64是网络上最常见的用于传输 8Bit字节码的编码方式之一,是一种基于 ...

  4. RSA+AES数字信封加解密设计

    登录认证.鉴权这些都做好了过后.就开始我们的加密设计了.这里采用了简化数字信封进行加密.首先客户端(浏览器)先请求一份RSA非对称密钥.如果我们采用了openresty或者有能力在nginx开发C模块 ...

  5. JavaIO流加解密,AES对字符串加解密

    加解密文件? 哈哈哈哈,当然是为了安全,自己的东西不像让别人看见. 1,学了JavaIO流的字节流的读取写入,便可实现. 加密原理: 把文件读取,然后,按某个特定的规则改变其字节写入一个新文件. 解密 ...

  6. python实现AES对文件加解密(这里使用ECB密码本模式)

    文章目录 1.加密 2.解密 pip install pycryptodome 请注意加解密成功的前提条件 加解密密匙key值相同 加解密密匙长度相同 加解密补长度的逻辑相同 加解密的模式相同 1.加 ...

  7. java aes解密算法_使用java实现AES算法的加解密(亲测可用)

    话不多说,直接上代码 import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto ...

  8. Python使用AES算法进行加解密

    本文要点在于Python扩展库pycrypto实现了大量密码学算法,可以拿来直接使用. import string import random from Crypto.Cipher import AE ...

  9. 记一个在线工具网站,程序员必备,json格式化、压缩、转义,加解密 编码解码

    为你工具 ToForU-在线json格式化|在线json压缩|在线json转义|工具大全 提供 json格式化,json代码压缩,json校验解析,json数组解析,json转xml,xml转json ...

  10. Java使用AES加解密

    Java使用AES加解密 目录 1.1生成密钥 1.2密钥的存储 1.3获取存储的密钥 1.4加解密 1.5使用存储的密钥进行加解密示例 AES是一种对称的加密算法,可基于相同的密钥进行加密和解密.J ...

最新文章

  1. ES查看segment大小
  2. 选择性模糊及其算法的实现。
  3. [UWP]了解IValueConverter
  4. 把 textbox 遍历赋值为空
  5. 有助于建立使用者对套件的信任 GitHub释出管理服务
  6. python第一周小测验_Python第一周小结
  7. windows无法发现任何计算机或设备,Win10系统提示windows无法与设备或资源通信如何解决...
  8. 【Hadoop Summit Tokyo 2016】云上的大象
  9. HomeBrew 安装 国内源
  10. c++多线程基础4(条件变量)
  11. xhtml 1.0与html4.0区别大全
  12. bzoj 3513: [MUTC2013]idiots FFT
  13. linux孟庆昌第六章课后题_第六章 参数估计-矩估计:通过课后题理解矩估计
  14. 大型网站限流算法的实现和改造
  15. Welcome to Xiao
  16. Android免root字体,字体大师免root
  17. 网站被攻击了怎么办?
  18. cortex a7 a53_镜头测试:蔡司红T28/2.8+索尼微单A7实拍北京景山公园
  19. 设计并编写代码自动格斗类游戏
  20. xcode提交app时出现icon缺少167.png图片的问题

热门文章

  1. 数据库范式讲解(1NF、2NF、3NF、BCNF)
  2. R语言绘图—“金字塔图”
  3. lerna 常用命令
  4. 三星会议组织:八个必须,三个公式
  5. 头指针为head的带头结点的单链表判空条件head->next==null?
  6. 微软文本转语音小工具(Text to speech)网页版
  7. 如何用短代码实现内容WordPress会员登录可见?
  8. 云边协同关3篇政策与技术跟踪专题文章摘录
  9. Linux DRM(二) --Xorg/DRM
  10. 电脑怎么还原系统win11