• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

解密之后信息带有乱字符,问题在哪里?

shyworm 2004-04-02 05:40:18
代码不复杂:

string msg = "Hello World!"; //需要加密的信息
byte[] buf = Encoding.Unicode.GetBytes(msg);

RijndaelManaged rm = new RijndaelManaged();
//=======================================================================
MemoryStream inStream = new MemoryStream(buf);
MemoryStream outStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(outStream,
rm.CreateEncryptor(rm.Key,rm.IV),CryptoStreamMode.Write);

inStream.WriteTo(cStream);//加密
//=======================================================================
byte[] cbuf = outStream.GetBuffer();
string cstr = Encoding.Unicode.GetString(cbuf);
Console.WriteLine(cstr);// 加密之后的数据
//=======================================================================
MemoryStream inCryptoStream = new MemoryStream(cbuf);
MemoryStream outDecStream = new MemoryStream();
CryptoStream DecStream = new CryptoStream(outDecStream,
rm.CreateDecryptor(rm.Key,rm.IV),CryptoStreamMode.Write);

inCryptoStream.WriteTo(DecStream);//解密
//=======================================================================
byte[] decbuf = outDecStream.GetBuffer();
string decstr = Encoding.Unicode.GetString(decbuf,0,buf.Length);
Console.WriteLine(decstr); //解密之后的信息



但是解密之后的信息后面成了乱字符:
Hello Wo?替?鳃

请大侠们多指点,错误究竟在哪里?
...全文
27 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Jinniu 2004-04-05
zushenf(一堆大便)的办法可行!
回复
shyworm 2004-04-05
非常感谢zushenf(一堆大便)!结贴了
回复
zushenf 2004-04-03
兄弟直接用我的吧,我已经调试通过
回复
zushenf 2004-04-03
string msg = "Hello World!"; //需要加密的信息
byte[] buf = Encoding.Unicode.GetBytes(msg);

RijndaelManaged rm = new RijndaelManaged();
rm.GenerateKey();
rm.GenerateIV();
byte[] key = rm.Key;
byte[] iv = rm.IV;

MemoryStream outStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(outStream,
rm.CreateEncryptor(key,iv),CryptoStreamMode.Write);


cStream.Write(buf,0,buf.Length);
cStream.FlushFinalBlock();
//inStream.WriteTo(cStream);//加密
//=======================================================================

byte[] cbuf = outStream.ToArray();
string cstr = Encoding.Unicode.GetString(cbuf);
textBox1.Text = cstr;
//Console.WriteLine(cstr);// 加密之后的数据
//=======================================================================
MemoryStream inCryptoStream = new MemoryStream(cbuf);
CryptoStream DecStream = new CryptoStream(inCryptoStream,
rm.CreateDecryptor(key,iv),CryptoStreamMode.Read);
byte[] fuck = new byte[cbuf.Length];
//StreamReader reader = new StreamReader(DecStream,Encoding.Unicode );
DecStream.Read(fuck,0,fuck.Length);
cstr = Encoding.Unicode.GetString(fuck);
//=======================================================================

//string decstr = reader.ReadToEnd();
//Console.WriteLine(decstr); //解密之后的信息
textBox2.Text = cstr;
回复
shyworm 2004-04-03
一致的啊,你们看前面的半截都是解对了的。
GetChars我再试试。
回复
hivak47 2004-04-03
解密和加密你的编码要一致。
回复
flyingbirddhp 2004-04-03
你换成Encoding.ASCII试试;
还有一个可能,就是你编码是用的Encoding.Unicode.GetBytes()
解码的时候最好用对应的Encoding,Unicode.GetChars(),不要用GetString()
你试试看,毕竟字符数组和字符串还是大不一样的
回复
sunruping 2004-04-03
幫你頂一下!
回复
shyworm 2004-04-03
Encoding都是用Unicode啊
回复
riffleliu 2004-04-03
幫你頂一下!
回复
HNU 2004-04-02


不太了解,检查一下 Encoding
回复
相关推荐
rtl8188eu_USB_linux.tar.gz
TP-LINK TL-WN725N V2 Linux 驱动安装
vs2013配置Qt5.7制作简单的音乐播放器
在VS2013配置Qt5.7制作的简单的音乐播放器,具有以下功能: 1.播放歌曲 2.添加歌曲 3.控制音量 4.换肤 5.本地搜索歌曲
24个带后台的小程序源码
24个带有后台的小程序源码下载,供大家交流学习(后台语言多种)
CListControl设置颜色
CListControl类派生,设置单元格颜色,丰富功能
SSIM 指标说明 文章
介绍 SSIM 图像评价指标和由来,比较一般的图像质量评价标准,比较ssim 和尖峰信噪比的差异,等等,是英文资料
Linux系统管理员/网络管理员(PDF版)
两本非常好的Linux系统学习的书 系统管理主要介绍Linux系统的结构、管理、命令等 网络管理主要从网络协议角度出发阐述Linux的网络功能
STM32F103中文数据手册
这个里面包含了STM32F103的各种型号的数据手册,方面理解
QRegExp的详细解析
引言 正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。 正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。(3)用来替换,比普通的替换更强大。
WPF中用于嵌入其他进程窗口的自定义控件(AppContainer)
WPF中用于嵌入其他进程窗口的自定义控件(AppContainer) 具体见博文:http://blog.csdn.net/zzzwwwppp11199988899/article/details/78131292
MSP430_RTC模块学习总结
这是自己在学习MSP430时,对RTC模块的总结,希望可以帮助刚入门者
数据结构基础系列(1):数据结构和算法
数据结构课程是计算机类专业的专业基础课程,在IT人才培养中,起着重要的作用。课程按照大学计算机类专业课程大纲的要求,安排教学内容,满足需要系统学习数据结构的人。系列课程包含11个部分,本课为第1部分,介绍与数据结构、程序、算法相关的概念,训练初步的数据逻辑结构表达能力,和初步的算法分析能力。 系列课程的目标是帮助学习者系统掌握数据结构课程的相关知识,具备利用这些知识分析问题、解决问题的能力。课程提供视频、课件、例程、自测、实践要求、参考解答等整套的解决方案,帮助学习者达到目标。本课是系列课程中的第1部分,具体目标包括:了解数据结构在计算机类人才培养中的重要意义、掌握数据结构的基本概念、掌握数据结构的分类、理解抽象数据类型ADT及其作用,以及初步学会算法分析的“套路”。
CIET-2019-0504 数据中心运维管理人才标准.pdf
数据中心运维管理,人才标准,欢迎查看共同学习。
嵌入式工程师养成计划之——嵌入式软件工程师完全学习指南
本系列课程针对有意向学习嵌入式软件开发的童鞋,从零开始、深入浅出,内容涵盖:linux系统基础、shell、linux C编程、linux系统编程、网络编程、ARM体系结构及汇编语言、ARM裸机编程、linux系统移植、linux驱动开发等模块。分多个子课程逐步学习。 本课程是全套课程的第0部(前传),目的是讲解我们的整个视频学习体系路线图,同时也会对大家学习路线的一个指引。 本期课程共计4节课,主要回答了何为嵌入式、为何要学习嵌入式、什么人适合学嵌入式、究竟应该怎样去学嵌入式等问题。最后为大家详细介绍了我们的嵌入式软件工程师学习路线图,希望能够对大家的嵌入式学习之路有所指引。
《高效能人士的七个习惯》(英文版).pdf
《高效能人士的七个习惯》(英文版).pdf很不错的一本书~~~~~~~~~~~
朴素贝叶斯算法做文本分类-代码
https://blog.csdn.net/zzZ_CMing/article/details/89478436 朴素贝叶斯算法做文本分类,用的是谭松波酒店语料。
FANUC的3210密码破解软件
FANUC 3210 密码破解软件,读取SRAM备份文件,不需要注册,完全免费。
PDB符号文件查看工具 symview,pdbxtract
PDB符号文件查看工具, 包含2个工具symview 和pdbxtract symview可查看文件所有原始信息 pdbxtract 可方便查看结构体等信息, 可导出头文件或xml
一个基于easyui的多人选择插件
花了一天时间实现的基于easyui的多人选择插件,是一个dailog
FANUC PMC密码破解程序
FANUC 31I PMC密码破解程序 用于OID,30I,31I等FANUC的密码破解
SIEMENS 840D SL调试手册.rar
里面含有840dsl的全部维修,调试,使用手册和资料,编程手册,报警诊断手册,PLC维修调试,系统报警代码,HMI高级手册.等.
airopeek汉化破解版无线WIFI网络密码破解无限制版
airopeek汉化破解版无线网络密码破解无限制版
FANUC B-64113C_01 0i-C 0i Mate-C连接说明书(硬件)册
FANUC B-64113C_01 0i-C 0i Mate-C连接说明书(硬件)册
B站王红元(codewhy)vue课件以及笔记
B站王红元(codewhy)vue课件以及笔记
英文停用词表
英文停用词表,1000个停用词左右,满足大部分的去停用词情况
Winfrom通用权限管理系统
Winfrom框架,动态生成菜单界面,附带数据库。纯手写,仅供学习参考,希望.net 程序员越来越好。 博客地址:https://blog.csdn.net/zzzzzzzert 有问题留言,互相学习交流
蓝桥物流软件
物流管理软件,很好的一个物流管理软件
常见密码的解密方法
一些常见的,密码的解密方法。
Java基础核心技术:多线程(day16-day17)
本套Java视频完全针对初级学员,课堂实录,自发布以来,好评如潮!Java视频中注重与学生互动,讲授幽默诙谐、细致入微,覆盖Java基础所有核心知识点,同类Java视频中也是代码量大、案例多、实战性强的。同时,本Java视频教程注重技术原理剖析,深入JDK源码,辅以代码实战贯穿始终,用实践驱动理论,并辅以必要的代码练习。 通过20的课程学习,使学员掌握java核心语法、面向对象思想编程、异常处理、IO流、集合类、多线程、网络编程等。
需求调研计划
需求调研计划--参考模板
yii2实战快餐系统
基于yii2开发的一套快餐系统,支持微信支付和支付宝支付。源代码托管到github上,搜索 abei2017/yii2.food 可以进入。 通过实战项目让yii2初学者更快的融入到实际项目开发中。
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-04-02 05:40
社区公告

让您成为最强悍的C#开发者