数据库中的加解密问题

最近在学习.NET软件开发过程中,接触到了一个关于.NET数据库加解密的程序代码,感觉比较新颖,觉得随着网络安全的发展,数据库的加密会是众多博友都会遇上的问题,随分享之。

本数据库中数据采用MD5加密方式

MD5全程是Message-digest
Algorithm5(信息-摘要算法),用于确保信息传输完整一致,他的作用是让大量信息在用数字签名加密软件签署私人密钥前被压缩成为一种保密的格式(就是把一个任意长度的字符串变换成一定长的大常熟)。

在Microsoft.NET
Framework中,System.Securty.Cryptography命名空间提供了加密和哈希的几个类。其中MD5编码是由MD5CryptoServiceProvider实现。在使用之前需要添加对此命名空间的引用:

using  System.Security.Cryptography;//就可以在C#编程中直接使用MD5类进行加密了

注意MD5加密是一种单向加密,是不可逆的,所以是不可以进行解密算法运算的。

首先添加MD5加密算法,对传入的密码进行加密,返回加密后的字符串

///<summay>

///MD5加密函数

///</summary>

///<param name="PWD">待加密的字符</param>

///<returns>加密后的字符</return>

public static string MD5_Str(string PWD)

{ MD5  md5=MD5.Create();

byte[] s=md5.ComputeHash(Encoding.UTF8.GetBytes(PWD));

string password="";

for(int i=0;i<s.length;i++)

{

password+=s[i].toString();

}

return  password;

}

这就完成了字符串的MD5加密

定义确定函数完成用户名身份验证

public  void bnt_Ok(object  sender, EnentArgs   
e)

{ //从数据库中读取已加密的密码

string strSorPwd=INiReadValue(****);

if(strSorPwd==MD5_Str(tbSourcePwd.Text.Trim()))

{

MessageBox.Show(“保存成功!","操作提示");

}

else

{ MessageBox.Show("密码输入错误,请重输!","操作提示");

return;

}

数据库中的加解密问题

时间: 2024-12-09 03:12:59

数据库中的加解密问题的相关文章

zTree 从数据库中动态加载树形菜单

这几天做动态菜单用到了这个插件,目前用的很广泛的一个开源框架,最新发布的QUI框架就是用这个插件开发的菜单部分,因此还是很值得深入研究和学习,通过使用感觉功能很丰富,好多函数不用自己开发和编写,官网上有很详尽的API可以参考,用着算顺手但学习使用的过程中也遇到了一些困难,听过反复测试和查资料都理解了,但也在思考一个问题,怎么样才能使得最快的时间从接触一个新东西到灵活掌握的程度? 这个不仅仅是一个树形结构的菜单,每个节点左边可以有一个复选框,看了看也挺简单的,只需要在setting里面配置一个ch

SQL2008R2数据库中勒索病毒解密数据恢复

辽宁省某医药集团公司SQL2008R2数据库中勒索病毒解密数据恢复成功 [单位名称] 辽宁省某医药集团公司 [数据恢复故障描述]服务器为IBM服务器.做的RAID5操作系统为:WINDOWS SERVER 2008R2生产数据库为:SQL SERVER 2008R2 ,一共有45G大小.2017年5月16日下午服务器突然无法访问,经单位网络管理人员查看所有文件扩展名被加上了 .id-462C3004.[[email protected]] 字样.数据库文件也未能幸免.每个目录里,都有一个READ

PHP 基础篇 - PHP 中 DES 加解密详解

一.简介 DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法.密钥长度是64位(bit),超过位数密钥被忽略.所谓对称性加密即加密和解密密钥相同,对称性加密一般会按照固定长度,把待加密字符串分成块,不足一整块或者刚好最后有特殊填充字符. 跨语言做 DES 加密解密经常会出现问题,往往是填充方式不对.编码不一致或者加密解密模式没有对应上造成.常见的填充模式有: pkcs5.pkcs7.iso10126.ansix9

eos中签名验签流程和eosjs中的加解密原理

关键词:eos 签名 验签 ecc dsa 加密 解密 eosjs aes 本文主要探讨两方面 1.eosjs中用密钥对进行加解密功能 2.eos中密钥对生成,签名和验签过程(私钥签名 公钥验签) 常用的加密算法 对称性加密算法 对称式加密就是加密和解密使用同一个密钥,信息接收双方都需事先知道密匙和加解密算法,之后便是对数据进行加解密了.对称加密算法用来对敏感数据等信息进行加密. 对称性加密算法有:AES.DES.3DES DES(Data EncryptionStandard):数据加密标准,

java中RSA加解密的实现

今天在做RSA加密的时候遇到了一个这样的错误:ArrayIndexOutOfBoundsException: too much data for RSA block 查询相关资料后得知该错误是加密数据过长导致的. 加密数据长度 <= 模长-11 解决办法:将要加密的数据截取后分段加密 1.密钥长度rsa算法初始化的时候一般要填入密钥长度,在96-1024bits间(1)为啥下限是96bits(12bytes)?因为加密1byte的明文,需要至少1+11=12bytes的密钥(不懂?看下面的明文长

数据库中新加了字段,tp插入库操作,加不进字段数据

'DB_FIELDS_CACHE'       =>  true,        // 启用字段缓存 改成: 'DB_FIELDS_CACHE'       =>  FALSE,        // 关闭字段缓存 清缓存runtime文件夹: 原文地址:https://www.cnblogs.com/ximishuier/p/10077197.html

加解密算法一:散列算法、对称加解密

.Net中的加解密操作所涉及的对象都在命名空间System.Security.Cryptography下,所以应先在程序中添加using System.Security.Cryptography. 1.散列算法: 用来产生一些数据片段(例如消息或会话项)的散列值的算法.好的散列算法具有在输入数据中的更改可以更改结果散列值中每个比特的特性:因此,散列对于检测在诸如消息等大型信息对象中的任何变化很有用.此外,好的散列算法使得构造两个独立的有相同散列的输入不能通过计算方法实现. 典型的散列算法包括 M

express 写入数据到数据库中

一.创建Schema var Schema = new mongoose.Schema({ user:String, txt:String, times:date } module.exports = Schema; 二.创建model var user = mongoose.model('smile',Schema); ////smile 为 数据库中的集合名     Schema 为导入的模块 module.exports = user; 三. 进入rotes→add.js 先导入model

程序中对密码进行加解密的C代码示例

问题的提出 在实际的软件项目中,经常涉及到对密码的处理,如用户登录密码.数据库密码.FTP密码等.为了增加软件的灵活性,一般都要求将这些密码放到一个配置文件中.但密码原文容易记录,若被软件入侵者获取,则后果不堪设想.因此我们不能直接将密码原文填入配置文件中,而要先对密码进行加密,然后将加密之后的密文填入配置文件,等程序读取配置之后再进行解密处理. 整个流程如图1所示. 图1 加解密总体流程 示例程序流程 为了演示整个加解密的流程,设计了一个演示程序,其执行流程如图2所示. 图2 示例程序流程 示