微软RC2CryptoServiceProvider 加解密

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

namespace RC2CryptoServiceProvider_Examples
{
    class MyMainClass1
    {
        public static void Main()
        {

            // Create a new instance of the RC2CryptoServiceProvider class
            // and automatically generate a Key and IV.
            RC2CryptoServiceProvider rc2CSP = new RC2CryptoServiceProvider();

            Console.WriteLine("Effective key size is {0} bits.", rc2CSP.EffectiveKeySize);

            string strIV = "1234567";
            // Get the key and IV.
            byte[] key = rc2CSP.Key;
            byte[] IV ;//= rc2CSP.IV;
            IV = ASCIIEncoding.ASCII.GetBytes(strIV);

            // Get an encryptor.
            ICryptoTransform encryptor = rc2CSP.CreateEncryptor(key, IV);

            // Encrypt the data as an array of encrypted bytes in memory.
            MemoryStream msEncrypt = new MemoryStream();
            CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);

            // Convert the data to a byte array.
            string original = "Here is some data to encrypt.";
            byte[] toEncrypt = Encoding.ASCII.GetBytes(original);

            // Write all data to the crypto stream and flush it.
            csEncrypt.Write(toEncrypt, 0, toEncrypt.Length);
            csEncrypt.FlushFinalBlock();

            // Get the encrypted array of bytes.
            byte[] encrypted = msEncrypt.ToArray();

            /**/
            ///////////////////////////////////////////////////////
            // This is where the data could be transmitted or saved.
            /**/
            ///////////////////////////////////////////////////////

            //Get a decryptor that uses the same key and IV as the encryptor.
            ICryptoTransform decryptor = rc2CSP.CreateDecryptor(key, IV);

            // Now decrypt the previously encrypted message using the decryptor
            // obtained in the above step.
            MemoryStream msDecrypt = new MemoryStream(encrypted);
            CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read);

            byte[] fromEncrypt = new byte[toEncrypt.Length];

            // Read the data out of the crypto stream.
            csDecrypt.Read(fromEncrypt, 0, toEncrypt.Length);

            // Convert the byte array back into a string.
            String roundtrip = Encoding.ASCII.GetString(fromEncrypt);

            // Display the original data and the decrypted data.
            Console.WriteLine("Original:   {0}", original);
            Console.WriteLine("Round Trip: {0}", roundtrip);

            Console.ReadLine();
        }
    }
}
时间: 2024-08-25 14:40:21

微软RC2CryptoServiceProvider 加解密的相关文章

微软企业级加解密解决方案MBAM架构

在之前的文章里,我给大家分享了<Bitlocker企业安全加密管理系列-1>和<Bitlocker企业安全加密管理系列-2>在这里我就不再给大家缀诉什么是MBAM了,在这里我主要给大家分享如何部署微软企业级加解密解决方案MBAM系列文章,在这里以MBAM2.5SP1为例,今天先给大家分享下架构: MBAM部署的模式有2种,一种是独立模式,一种是SCCM集成模式.2种架构图如下: 独立模式 SCCM集成模式 那么MBAM的逻辑架构是如下的: 如果您的企业需要部署MBAM的高可用架构,

微软企业级加解密解决方案MBAM利用门户查询恢复密码(用户自助和管理门户)

当我们重启电脑忘记了开机的PIN码时怎么办呢?只要是加域的客户端,自然我们的恢复密钥存放在MBAM数据库中,我们有2种方式进行恢复,一种是自助查询门户,一种是后台管理员门户.自然面向的对象不样了,这里我先给大家介绍用户自助查询么户吧 当我们输入错密码后会出现: 提示按Esc进行恢复选项 出现了一组恢复密钥ID,我们就可以另外找台可以到桌面用的同事电脑上进行自助查询恢复密钥吧(如果身边没有可用的电脑可以电话IT或企业内部的IT HELPDESK呼叫中心): 打开自助门户:https://mbam.

微软企业级加解密解决方案MBAM用户和组

部署独立模式架构,我准备了5台计算机,分别是DC.MBAMSQL.MBAM.2台Win8.1 DC我就不多说了,域控角色,当然我的DC上也承载了我的CA角色 第一部,我们需要在AD中创建如下用户和组: MBAMSQL是我的数据库角色,数据库我采用的是SQL2012,但需要注意的是必须安装采用 SQL_Latin1_General_CP1_CI_AS 排序规则,MBAMSQL所需权限: ? SQL Server 实例登录服务器角色:dbcreator和processadmin ? SQL Serv

微软企业级加解密解决方案MBAM管理和监控服务器部署

接下来是配置WEB应用程序,在MBAM服务器上添加 强烈推荐使用证书 可以编辑写出自己公司特色的帮助提示信息 OK.下面就是验证一下我们的自助门户了 在2.5SP1之前的版本呢,如果客户端无法上网,那么打开自助门户是会报错的,原因为无法下载到所需的JavaScript文件,在2.5SP1版本中,这些文件已经内置,所以不存在这个问题,那么在2.5sp1之前的版本如果您想内置,那么需要手动处理,把附件的文件复制到 C:\inetpub\Microsoft BitLocker Management S

微软企业级加解密解决方案MBAM客户端部署

根据部署 Microsoft BitLocker 管理和监控客户端软件时,您可以启用 BitLocker 驱动器加密计算机上您的组织中最终用户获得的计算机之前或之后通过配置组策略并使用企业软件部署系统部署 MBAM 客户端软件. 将 MBAM 客户端部署到台式机或便携式计算机 配置组策略设置后,您可以使用企业软件部署系统产品如 Microsoft System Center 2012 配置管理器或 Active Directory 域服务将 MBAM 客户端安装 Windows 安装程序文件部署

微软企业级加解密解决方案MBAM组策略模板配置

若要部署 MBAM,您必须设置定义 MBAM BitLocker 驱动器加密的实现设置的组策略设置.若要完成此任务,必须将 MBAM 组策略模板复制到服务器或工作站上可以运行组策略管理控制台 (GPMC) 或高级组策略管理 (AGPM),然后编辑设置. 重要 ︰不要更改的BitLocker 驱动器加密节点中的组策略设置或 MBAM 将无法正常运行.MDOP MBAM (BitLocker 管理)节点中配置的组策略设置,当 MBAM 自动配置为您的BitLocker 驱动器加密设置. 在Windo

微软企业级加解密解决方案MBAM数据库部署

接下来就是配置我们的数据库和报表了,在MBAMSQL服务器上安装

160829、Java加解密与数字签名

** Java加解密 ** 实现方式:JDK实现,CC,BC JDK提供比较基础的底层的实现:CC提供一些简化的操作:BC提供补充 一.Base64加密 非常简单,加密解密就一个函数. 代码如下: 二.消息摘要算法加密————主要用于验证数据完整性. MD(消息摘要): SHA(安全散列) JDK实现和MD一样. BC实现如下:(Digest类) CC实现最简单(就是一个DigestUtils的静态方法): MAC(消息认证码)——含有密钥的散列函数算法 兼容MD和SHA的特性,但加入了密钥.

Java 加解密技术系列之 DH

序 上一篇文章中简单的介绍了一种非对称加密算法 - - RSA,今天这篇文章,继续介绍另一种非对称加密算法 - - DH.当然,可能有很多人对这种加密算法并不是很熟悉,不过没关系,希望今天这篇文章能帮助你熟悉他. 概念 DH,全称为"Diffie-Hellman",他是一种确保共享KEY安全穿越不安全网络的方法,也就是常说的密钥一致协议.由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想. 简单的说就是允许两名用户在公开媒体上交换信息以生成"一致"