System.Runtime.Serialization.SerializationException: 二进制流“0”不包含有效的 BinaryHeader。这可能是由于无效流,或由于在序列化和反序列化之间的对象版本更改。
源错误:
行 259: char[] cchar = (char[])bf.Deserialize(ms);
==========================================================================
这是错误报告,我的目的是把加密生成的二进制数据读入数据库里,及向数据库里读取二进制数据转化为明文
源错误:
行 259: char[] cchar = (char[])bf.Deserialize(ms);
==========================================================================
这是错误报告,我的目的是把加密生成的二进制数据读入数据库里,及向数据库里读取二进制数据转化为明文
private byte[] charToBinary(string str)
{
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] tag = encoding.GetBytes(str);
return tag;
}
#endregion
http://dotnet.aspx.cc/article/ecd9ae16-8ff0-4a1c-9b9f-5e8b641cb1b1/read.aspx
//对上一步得到的 Unicode 编码值进行哈希处理。
byte[] newHashPwd = SHhash.ComputeHash(newPwd);
数据库操作,用参数处理:
Sql:……set password=@password……
……
cmd.Parameters.Add("@password",newHashPwd);
……
{
FileStream stream = new FileStream( path , FileMode.Open , FileAccess.Read ) ;
byte[] bufferPhoto =new byte[stream.Length] ;
stream.Read( bufferPhoto,0,Convert.ToInt32( stream.Length ) ) ;
stream.Flush();
stream.Close(); return bufferPhoto ;
}
行 259: char[] cchar = (char[])bf.Deserialize(ms);
========================================================================
最新的报错
=========================
大哥我需要的是把数据保存在数据库里的,你的方法好象是保存在txt文件里吧
private void Save(byte[] image)
{
string sql = "insert into table2(aaa,photo) values(@aaa,@photo)";
SqlParameter[] param=new SqlParameter[2];
param[0] =new SqlParameter("@aaa",SqlDbType.Int);
param[0].Value = 1;
param[1]= new SqlParameter("@photo",SqlDbType.Image);
param[1].Value= image; SqlConnection conn= new SqlConnection();
conn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings[0]; SqlCommand commd= new SqlCommand(sql,conn);
commd.Parameters.Add(param[0]);
commd.Parameters.Add(param[1]); try
{
conn.Open();
commd.ExecuteNonQuery();
MessageBox.Show("把图片成功的插入数据库");
}
catch(Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
}