当前位置: 首页 > news >正文

廊坊网站快速排名优化合肥网站到首页排名

廊坊网站快速排名优化,合肥网站到首页排名,淘宝客优惠券的网站是怎么做的,免费公司logo设计大全1.对称密钥2.不对称密钥3.将非对称密钥存储在密钥容器中4.将非对称密钥存储在密钥容器中示例 创建和管理密钥是加密过程的一个重要部分。对称算法要求创建必须对不应解密数据的任何人保密的密钥和初始化向量 (IV)。不对称算法要求创建一个公钥和一个私钥。公钥可以对任何人公开…1.对称密钥2.不对称密钥3.将非对称密钥存储在密钥容器中4.将非对称密钥存储在密钥容器中示例 创建和管理密钥是加密过程的一个重要部分。对称算法要求创建必须对不应解密数据的任何人保密的密钥和初始化向量 (IV)。不对称算法要求创建一个公钥和一个私钥。公钥可以对任何人公开而私钥必须只为将要对用公钥加密的数据进行解密的一方知道。 对称密钥.NET Framework 提供的对称加密类需要一个密钥和一个新的初始化向量 (IV) 来加密和解密数据。每当使用默认构造函数创建某个托管对称加密类的新实例时都将自动创建新的密钥和 IV。无论您允许谁解密您的数据他或她都必须拥有同样的密钥和 IV 并使用相同的算法。通常应该为每个会话创建新的密钥和 IV并且无论是密钥还是 IV 都不应存储以用于稍后的会话中。 为了将对称密钥和 IV 传送给远程方通常使用不对称加密来加密对称密钥和 IV。通过不安全的网络发送这些值而不对这些值进行加密会极不安全这是因为截获这些值的任何人都能够解密您的数据。 下面的示例显示实现TripleDES 算法的 TripleDESCryptoServiceProvider 类的新实例的创建。 Visual Basic:Dim TDES As TripleDESCryptoServiceProvider new TripleDESCryptoServiceProvider() C#:TripleDESCryptoServiceProvider TDES new TripleDESCryptoServiceProvider(); 在执行上面的代码时将生成新的密钥和 IV 并将其分别放置在 Key 和 IV 属性中。 有时您可能需要生成多个密钥。这种情况下可以创建实现对称算法的类的新实例然后通过调用 GenerateKey 和 GenerateIV 方法创建新的密钥和 IV。下面的代码示例阐释如何在创建了不对称加密类的新实例后创建新的密钥和 IV。 Visual Basic :Dim TDES As TripleDESCryptoServiceProvider new TripleDESCryptoServiceProvider()TDES.GenerateIV()TDES.GenerateKey() C# :TripleDESCryptoServiceProvider TDES new TripleDESCryptoServiceProvider();TDES.GenerateIV();TDES.GenerateKey(); 当执行上面的代码时创建 TripleDESCryptoServiceProvider 的新实例后将生成密钥和 IV。调用 GenerateKey 和 GenerateIV 方法时将创建另一个密钥和 IV。 不对称密钥.NET Framework 为不对称加密提供了 RSACryptoServiceProvider 和 DSACryptoServiceProvider 类。这些类在您使用默认构造函数创建新实例时创建一个公钥/私钥对。既可以存储不对称密钥以用在多个会话中也可以只为一个会话生成不对称密钥。公钥可以被广泛地使用私钥应被严密地保护起来。 每当创建不对称算法类的新实例时都生成一个公钥/私钥对。创建该类的新实例后可以用以下两种方法之一提取密钥信息 ToXMLString 方法它返回密钥信息的 XML 表示形式。ExportParameters 方法它返回 RSAParameters 结构以保存密钥信息。两个方法都接受布尔值该值指示是只返回公钥信息还是同时返回公钥和私钥信息。 通过使用 ImportParameters 方法可以将 RSACryptoServiceProvider 类初始化为 RSAParameters 结构的值。 千万不要将不对称私钥逐字存储或者说以明文形式存储在本地计算机上。如果需要存储私钥则应使用密钥容器。有关如何在密钥容器中存储私钥的更多信息请参见如何将非对称密钥存储在密钥容器中。 下面的代码示例创建 RSACryptoServiceProvider 类的一个新实例创建一个公钥/私钥对并将公钥信息保存在 RSAParameters 结构中。 Visual Basic  复制代码 Generate a public/private key pair.Dim RSA as RSACryptoServiceProvider new RSACryptoServiceProvider()Save the public key information to an RSAParameters structure.Dim RSAKeyInfo As RSAParameters RSA.ExportParameters(false)  C#  复制代码 //Generate a public/private key pair.RSACryptoServiceProvider RSA new RSACryptoServiceProvider();//Save the public key information to an RSAParameters structure.RSAParameters RSAKeyInfo RSA.ExportParameters(false); 将非对称密钥存储在密钥容器中 创建非对称密钥并将其保存在密钥容器中------------1.创建 CspParameters 类的一个新实例  并将您要密钥容器使用的名称传递给 CspParameters.KeyContainerName 字段。2.为从 AsymmetricAlgorithm 类派生的一个类 通常是 RSACryptoServiceProvider 或 DSACryptoServiceProvider创建一个新实例  并将先前创建的 CspParameters 对象传递给其构造函数。 从密钥容器中删除密钥------------1.创建 CspParameters 类的一个新实例  并将您要密钥容器使用的名称传递给 CspParameters.KeyContainerName 字段。2.为从 AsymmetricAlgorithm 类派生的一个类通常是 RSACryptoServiceProvider 或 DSACryptoServiceProvider创建一个新实例 并将先前创建的 CspParameters 对象传递给其构造函数。3.将从 AsymmetricAlgorithm 中派生的类  的 PersistKeyInCSP 属性设置为 false在 Visual Basic 中为 False。4.调用从 AsymmetricAlgorithm 派生的类的 Clear 方法。  该方法释放该类所有的资源并清除密钥容器。将非对称密钥存储在密钥容器中示例下面的示例说明下面这一过程创建一个非对称密钥将其保存在密钥容器中以后检索此密钥最后从该容器中删除此密钥。 请注意GenKey_SaveInContainer 方法和 GetKeyFromContainer 方法的代码相似。当为 CspParameters 对象指定密钥容器名称并将其传递给 PersistKeyInCsp 属性   或 PersistKeyInCsp 属性设置为 true 的 AsymmetricAlgorithm 对象时  将会发生以下情况。  如果不存在具有指定名称的密钥容器        则系统将创建一个密钥容器但密钥保持不变。  如果确实存在具有指定名称的密钥容器        则将此容器中的密钥自动加载到当前 AsymmetricAlgorithm 对象中。  因此GenKey_SaveInContainer 方法中的代码保持密钥不变因为它首先运行  而 GetKeyFromContainer 方法中的代码加载此密钥因为它随后运行。 Visual Basic  复制代码 Imports SystemImports System.IOImports System.Security.Cryptography _ Public Class StoreKey     Public Shared Sub Main()        Try            Create a key and save it in a container.            GenKey_SaveInContainer(MyKeyContainer)             Retrieve the key from the container.            GetKeyFromContainer(MyKeyContainer)             Delete the key from the container.            DeleteKeyFromContainer(MyKeyContainer)             Create a key and save it in a container.            GenKey_SaveInContainer(MyKeyContainer)             Delete the key from the container.            DeleteKeyFromContainer(MyKeyContainer)        Catch e As CryptographicException            Console.WriteLine(e.Message)        End Try    End Sub     Public Shared Sub GenKey_SaveInContainer(ByVal ContainerName As String)        Create the CspParameters object and set the key container         name used to store the RSA key pair.        Dim cp As New CspParameters()        cp.KeyContainerName ContainerName         Create a new instance of RSACryptoServiceProvider that accesses        the key container MyKeyContainerName.        Dim rsa As New RSACryptoServiceProvider(cp)         Display the key information to the console.        Console.WriteLine(Key added to container:  {0}, rsa.ToXmlString(True))    End Sub     Public Shared Sub GetKeyFromContainer(ByVal ContainerName As String)        Create the CspParameters object and set the key container           name used to store the RSA key pair.        Dim cp As New CspParameters()        cp.KeyContainerName ContainerName         Create a new instance of RSACryptoServiceProvider that accesses        the key container MyKeyContainerName.        Dim rsa As New RSACryptoServiceProvider(cp)         Display the key information to the console.        Console.WriteLine(Key retrieved from container : {0}, rsa.ToXmlString(True))    End Sub     Public Shared Sub DeleteKeyFromContainer(ByVal ContainerName As String)        Create the CspParameters object and set the key container           name used to store the RSA key pair.        Dim cp As New CspParameters()        cp.KeyContainerName ContainerName         Create a new instance of RSACryptoServiceProvider that accesses        the key container.        Dim rsa As New RSACryptoServiceProvider(cp)         Delete the key entry in the container.        rsa.PersistKeyInCsp False         Call Clear to release resources and delete the key from the container.        rsa.Clear()         Console.WriteLine(Key deleted.)    End SubEnd Class  C#  复制代码 using System;using System.IO;using System.Security.Cryptography; public class StoreKey {    public static void Main()    {        try        {            // Create a key and save it in a container.            GenKey_SaveInContainer(MyKeyContainer);                        // Retrieve the key from the container.            GetKeyFromContainer(MyKeyContainer);                // Delete the key from the container.            DeleteKeyFromContainer(MyKeyContainer);             // Create a key and save it in a container.            GenKey_SaveInContainer(MyKeyContainer);             // Delete the key from the container.            DeleteKeyFromContainer(MyKeyContainer);        }        catch(CryptographicException e)        {            Console.WriteLine(e.Message);        }     }     public static void GenKey_SaveInContainer(string ContainerName)    {        // Create the CspParameters object and set the key container         // name used to store the RSA key pair.        CspParameters cp new CspParameters();        cp.KeyContainerName ContainerName;         // Create a new instance of RSACryptoServiceProvider that accesses        // the key container MyKeyContainerName.        RSACryptoServiceProvider rsa new RSACryptoServiceProvider(cp);         // Display the key information to the console.        Console.WriteLine(Key added to container: \n  {0}, rsa.ToXmlString(true));    }     public static void GetKeyFromContainer(string ContainerName)    {        // Create the CspParameters object and set the key container         // name used to store the RSA key pair.        CspParameters cp new CspParameters();        cp.KeyContainerName ContainerName;         // Create a new instance of RSACryptoServiceProvider that accesses        // the key container MyKeyContainerName.        RSACryptoServiceProvider rsa new RSACryptoServiceProvider(cp);         // Display the key information to the console.        Console.WriteLine(Key retrieved from container : \n {0}, rsa.ToXmlString(true));    }     public static void DeleteKeyFromContainer(string ContainerName)    {        // Create the CspParameters object and set the key container         // name used to store the RSA key pair.        CspParameters cp new CspParameters();        cp.KeyContainerName ContainerName;         // Create a new instance of RSACryptoServiceProvider that accesses        // the key container.        RSACryptoServiceProvider rsa new RSACryptoServiceProvider(cp);         // Delete the key entry in the container.        rsa.PersistKeyInCsp false;         // Call Clear to release resources and delete the key from the container.        rsa.Clear();         Console.WriteLine(Key deleted.);    }}  输出  Key added to container:RSAKeyValue Key Information A/RSAKeyValueKey retrieved from container :RSAKeyValue Key Information A/RSAKeyValueKey deleted.Key added to container:RSAKeyValue Key Information B/RSAKeyValueKey deleted.    转载于:https://www.cnblogs.com/freeliver54/archive/2007/03/05/664695.html
http://www.zqtcl.cn/news/91739/

相关文章:

  • 徐州免费网站建站模板钉钉爱客crm
  • 中信建设有限责任公司内部网站网站建设小企业案例
  • 做网站需要多少职务阿克苏交通建设局网站
  • 柳市建设网站python 网站开发 环境
  • 重庆建设网站的公司网站建设公司国内技术最强
  • 建设一个网站花多少钱江苏省水利工程建设局网站
  • 美橙建站之星怎么样嘉兴网站系统总部
  • 织梦企业门户网站网站只收录无权重
  • 枣庄市 网站建设南宁制作网站
  • 动漫网站建设的目的it外包公司怎么找
  • 怎样打开网站制作千图app的优势
  • 网站建设销售经理职责大桥石化集团网站谁做的
  • 黄金网站软件免费靖江seo快速排名
  • 网站建设经验做法和取得的成效wordpress 浏览器兼容
  • 代理记账注册公司图片商丘网站seo
  • 北京网站建设推荐安徽秒搜科技河南建设工程信息网招标公告
  • 网站开发项目实训总结微网站设计
  • 山东济南建网站公司东莞排名seo网站关键词优化
  • 找网站建设企业培训机构哪家最好
  • 建什么类型个人网站比较好开发高端网站建设价格
  • 网站开发 卡片网站建设合同需要印花税
  • 手机端网站图片上传如何做新公司取名字大全免费
  • vue.js网站建设智慧团建官方网站登录入口
  • 江宁区建设局网站网站建设 美食站点
  • 哈尔滨松北区建设局网站唐山企业网站模板建站
  • 服装公司网站策划书外网设计灵感网站
  • 学做婴儿衣服网站windows 建网站
  • 银饰品网站建设规划策划书wordpress近义词搜索
  • 淘宝联盟网站推广位怎么做网站开发合同支付
  • 有没有一些有试卷做的网站ios开发教程