[.net core学习] .net core中的Rijndael取代方法

The difference (in .NET) between Rijndael and AES is that Rijndael allows the block size to change, but AES does not. Since RijndaelManaged‘s default block size is the same as the AES block size (128 bit / 16 byte) you are, in fact, using AES.

Instead of instantiating the implementation type by name, just use the factory (Aes.Create()). That works in both .NET Core and .NET Framework.

Other things worth mentioning:

  • All SymmetricAlgorithm instances are IDisposable, you should use them in a usingstatement.
  • All ICryptoTransform instances (such as your incorrectly named desEncryptor) are IDisposable, you should use them in a using statement.
  • ISO10126 padding is not available in .NET Core 1.0. If you need to be compatible with existing streams you can apply the padding yourself and specify PaddingMode.None. Otherwise, PKCS7 is more standard.
  • Your AES key isn‘t very random, since it comes from an ASCII string (lots of values won‘t be valid).
    • Base64 at least has full value range
    • PBKDF2 (Password-Based Key Derivation Function 2) via the Rfc2898DeriveBytes class allows for shared-string-secret in, predictable noise out.
    • KeyAgreement is in general better, but neither ECDH nor classic DH are available in .NET Core 1.0.
  • Usually the encryptor should let a random IV be calculated (call aes.GenerateIV() if using the same object for multiple operations) and present it with the ciphertext. So encrypt takes a key and plaintext and produces a ciphertext and IV. Decrypt takes (key, IV, ciphertext) and produces plaintext.

用法: SymmetricAlgorithm des = Aes.Create();

参考:http://stackoverflow.com/questions/38333722/how-to-use-rijndael-encryption-with-a-net-core-class-library-not-net-framewo

时间: 2025-01-02 11:27:44

[.net core学习] .net core中的Rijndael取代方法的相关文章

学习Linux系统中命令的简单方法

如果说如何快速学习.了解Linux的话,我的答案是学命令.背命令!为何呢?对于一名新手来说,去学习Linux的思想.了解Linux的架构.明白Linux中"一切皆文件"概念虽然说是没有错,是对的.但是个人认为去学习这些"高大上"的东西不是一时半会的事儿,它需要一定的时间和经验去沉淀才能掌握.那么如何最快速了解Linux并使用呢?我依然觉得学命令.背命令,掌握命令是比较笨但却是比较快的方式. 我开始学习Linux的时候,问了前辈:我入门Linux需要掌握哪些命令呢?前

学习.net core mvc 做的一个在线房间棋牌游戏微信支付和及时通讯简易框架

项目名称:游戏城(GameCitysSystem) 源代码github地址:https://github.com/antdesigner/appleGameSVN 开发工具:vs2017 数据库:mysql5.7 因为项目目前不完善,有一些注意事项 利用 "applegameData.sql" 文件初始化mysql数据库,数据库名称为 applegame 连接字符串在appsettings对应文件ConnectionStrings节点中配置 访问地址为: http://127.0.0:

CoreData学习:Core Data Stack(Swift)

Core Data是苹果官方提供的一套框架,用来解决对象生命周期管理.对象关系图管理和持久化等方面相关的问题.Core Data是模型层的技术,Core Data帮助你构建代表程序状态的模型层.Core Data也是一种持久化技术,它可以将模型的状态持久化到磁盘.但它更重要的特点是:Core Data不只是一个加载和保存数据的框架,它也能处理内存中的数据. 什么是Core Data? 对于Core Data框架将经常困惑,以为是数据库.其实Core Data并不是数据库.如果它不是数据库,那么C

我的.net core学习历程

我是一名c#老鸟,虽然编程多年,但只会使用c#通过Visual Studio工具开发Windows环境下的桌面应用和网站. 这是我自学.net core的经历,如果你也和我一样,也是刚刚接触.net core,并对此有新区,或许能对你有所帮助. 众所周知,.net也是跨平台的,但是,都是Windows平台.随着.net core的推出,微软终于出了一款真正意义上的跨平台系统,我们也终于有机会将编码迁移到linux系统.甚至更多的平台上. 由于以前未接触过linux系统,也不知道如何使用.运行及维

ASP.NET Core学习零散记录

赶着潮流听着歌,学着.net玩着Core 竹子学Core,目前主要看老A(http://www.cnblogs.com/artech/)和tom大叔的博客(http://www.cnblogs.com/TomXu/),当然还有我们博客园的Core中国学习小组啦(http://www.cnblogs.com/dotNETCoreSG/),只是笔记作用,所以很多图片,文字都是来源于他们~ 中间件(middleware): 原文:随着WebHost的Start方法的调用,按照具体需求进行定制的请求处理

ASP.NET Core学习之一 入门简介

一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的“问题”,是简单的问题,对,就是简单,就是因为觉得简单被忽略的东西,恰恰这才是最重要的. 1.学习资料 首先,介绍下哪里可以获得学习资料 英文官网,最好的文档,英语得过硬 https://docs.microsoft.com/en-us/aspnet/core/ 可惜当年英语就是马马虎虎过来的,所以找了

.Net Core学习之路(一)

前言:因为公司转型需要,特地学习.NET Core.本来在我的计划中.Net Core的学习应该没有快就被执行的.一来是我想多补一点基础和理论知识,再者就是我想攒点钱买台好点的电脑再装VS2017.计划提前,在这台用了4年多的电脑上装了VS2017效果倒也算差强人意,看来VS2017很吃配置的结论是子虚乌有的谣言罢了.我在博客园的帐号是一年多申请的,当时只是听老师讲要有自己的技术积累,最好写点博客什么的.可是一直没有要写什么的意思,直到今天我看用.NET Core生成的MVC项目之后去倒垃圾的时

EntityFramework Core 学习扫盲

0. 写在前面 1. 建立运行环境 2. 添加实体和映射数据库 1. 准备工作 2. Data Annotations 3. Fluent Api 3. 包含和排除实体类型 1. Data Annotations [NotMapped] 排除实体和属性 2. Fluent API [Ignore] 排除实体和属性 4. 列名称和类型映射 1. Data Annotations 5. 主键 1. Data Annotations [Key] 2. Fluent API [HasKey] 6. 备用

ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介

参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-2.2&tabs=visual-studio 与https://www.jianshu.com/p/349e130e40d5 当一个WebApi完成之后,书写API文档是一件非常头疼的事,因为不仅要写得清楚,能让调用接口的人看懂,又是非常耗时耗力的一件事.在之前的一篇随笔中(