zoukankan      html  css  js  c++  java
  • 【转】C#256位加密算法,可以轻松创建密盘,破解密码需要100万年!!! 人工智能

    各位兄弟
      我们非常高兴地邀请大家来回顾一下C#古老的加密算法——256位AES。
      目前由于隐私泄露导致的悲剧层出不穷,而这些隐私泄露几乎都是因为电脑丢失,电脑临时被他人使用,blablabla...只有当您使用自己的账号和密码登录后才能被解密使用。
      256位AES具有如下特点:
      完全免费
      blablabla...
      高强度加密
      blablabla...
      操作简单,轻松上手
      blablabla...
      空间大小您做主
      使用此C#加密算法,可以轻松花一天时间写出一个密盘管理小工具,使用它,你可以在你使用您硬盘上空闲空间创建加密文件,因此密盘的大小取决于您硬盘的空闲空间大小,只要您的硬盘足够大,就可以存放尽可能多的文件到密盘中。
      欢迎您试用并交流你们的宝贵意见和建议。
      使用方法:

          创建一个C#项目,使用IO类库读入文件,用加密算法加密它,再用IO类库保存此文件。

    下面是转自原文:

    原文地址:http://archive.cnblogs.com/a/1328532/

    AES简介

    AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。

    AES 是一个新的可以用于保护电子数据的加密算法。明确地说,AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据 的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations )和替换(substitutions)输入数据。Figure 1 显示了 AES 用192位密钥对一个16位字节数据块进行加密和解密的情形。

    AES加密函数

    publicstaticstring Encrypt(string toEncrypt) {
    byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");
    byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

    RijndaelManaged rDel =new RijndaelManaged();
    rDel.Key
    = keyArray;
    rDel.Mode
    = CipherMode.ECB;
    rDel.Padding
    = PaddingMode.PKCS7;

    ICryptoTransform cTransform = rDel.CreateEncryptor();
    byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

    return Convert.ToBase64String(resultArray, 0, resultArray.Length);
    }

    
    

    AES解密函数

    publicstaticstring Decrypt(string toDecrypt) {
    byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");
    byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);

    RijndaelManaged rDel =new RijndaelManaged();
    rDel.Key
    = keyArray;
    rDel.Mode
    = CipherMode.ECB;
    rDel.Padding
    = PaddingMode.PKCS7;

    ICryptoTransform cTransform = rDel.CreateDecryptor();
    byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

    return UTF8Encoding.UTF8.GetString(resultArray);
    }

    
    

    注:以上代码实现的是256位的AES算法 

  • 相关阅读:
    Jquery 跨域问题
    Linux下scp的用法
    JZ2440_V3_内核驱动程序_点亮一个LED灯
    MATLAB GUIDE 上位机串口通信开发 绘制图形
    关于在DSP工程内数组、strnpy函数、atoi函数的使用心得
    Visio中手绘图形的填充
    Ubuntu16.04NFS配置与ARM开发板互传文件_挂载和卸载
    树莓派压力测试工具STui + Stress的使用
    如何将代码优雅的插入到word中
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/DSharp/p/1869589.html
Copyright © 2011-2022 走看看