如何在c#中加密数据和解密数据的函数

本文介绍了如何在C#中使用RSACryptoServiceProvider进行数据加密和解密。通过实例化加密库类,初始化密钥,利用UTF8Encoding将字符串转换为字节数组,然后进行加密或解密操作。加密后的数据以字节数组形式返回,而非字符串,因为直接转换可能引起解密错误。
摘要由CSDN通过智能技术生成

         首先要先实例化加解密库类 RSACryptoServiceProvider ,然后再用给定的密钥对他进行初始化,接着声明一个转换函数UTF8Encoding来把要加密的字符串转换成字节数组,接着就可以调用RSACryptoServiceProvider 的Encrypt方法进行加密了,加密返回的是字节组。解密函数的原理也是一样的。大家直接看下面的代码就清楚了,至于为什么要在把字符串加密后返回字节数组而不是字符串,那是因为利用加密函数进行加密时必须要先把字符串转换成字节数组,然后才能加密,加密完以后则不能把加密好的字节数组转换成字符串,否则当你解密时会出现问题的,不信的可以试一试,我觉得可能是当加密好以后的字节数组转换成字符串,再由字符串转换成字节数组进行解密时可能会出现字节错位引起的。有什么不妥的地方请大家指正。

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;

namespace FootBall
{
    public class Function
    {
        /// <summary>
        /// 加密函数
        /// </summary>
        /// <param name="originalData">originalData:原始数据</param>
        /// <param name="key">key:密钥&l

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值