C#--用户密码处理------混淆密码加密
近期刚好做新框架的用户数据安全这块
密码的保护措施:混淆加密--------------------------------拙见----------贴上代码--请指教
1:生成混淆数据,---存入数据表字段
2:获取密码混淆加密字符串-----存入数据表字段
/*---------------------------------------混淆字符串-----------------------------------------------------------*/
/// <summary>
/// 根据26个字母(大小写)和1~9数字组成的字符串中随机生成一定长度的字符串
/// </summary>
/// <param name="len">长度</param>
/// <returns>返回字符串</returns>
public static string CreateRandomStr(int len)
{
return GetRandomString("123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ", len);
}
//获取随机字段
public static string GetRandomString(string pwdchars, int len)
{
Random randomSeed = new Random();
StringBuilder builder = new StringBuilder(len);
for (int i = ; i < len; i++)
{
builder.Append(pwdchars[randomSeed.Next(pwdchars.Length)]);
}
return builder.ToString();
}
/*-----------------------------------------加密数据------------------------------------------------*/
/// <summary>
/// 对字符串str加密后再增加混淆串字符key一起进行加密后得到的字符串,两次都是采用MD5(string str)方法
/// </summary>
/// <param name="pass">字符串</param>
/// <param name="key">混淆串字符</param>
/// <returns>加密后的字符串</returns>
public static string GetPass(string pass, string key)
{
//调用MD5生成密码
return MD5(MD5(pass) + key);
}
/// <summary>
/// MD5加密(去除“-”)得到字符串
/// </summary>
/// <param name="str">字符串</param>
/// <returns>加密后的字符串</returns>
public static string MD5(string str)
{
MD5 md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(str)));
t2 = t2.Replace("-", "").ToLower();
return t2;
}
C#--用户密码处理------混淆密码加密的更多相关文章
- SpringBoot对注册用户密码进行Bcrypt密码加密
一.注册用户时,用户的密码一般都是加密存储在数据库中.今天我要用到的加密方式是Bcrypt加密. 1.首先在SpringBoot项目的pom文件中,引入SpringSecurity相关依赖,目的是为了 ...
- 加密grub防止通过单用户模式破解root密码
(1).CentOS6 1)产生加密密码 [root@CentOS6 ~]# grub-md5-crypt Password: Retype password: $1$QPduF0$FNhzDUPQP ...
- oAuth 使得第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权
OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可 ...
- 设置GRUB密码以防止单用户模式下root密码被恶意更改
在使用LInux系统的时候可能会发生忘记root密码的情况,通常管理员会进入单用户模式下进行重置root密码.那么问题来了,既然管理员可以进入单用户模式,如果恶意用户可以接触的到计算机的话毫无疑问也是 ...
- mysql用户的增删与密码丢失问题
为root用户设置初始密码 mysqladmin -u root password 密码(单实例) mysqladmin -u root password 密码 -S /data/3306/mysql ...
- 使用单用户模式破解Linux密码
使用单用户模式破解Linux密码 特别说明:在实际工作应用中,安装Linux操作系统必须设置装载口令,否则很容易被破解. 1.使用reboot指令重启Linux操作系统 2.在进入操作系统数秒时,单击 ...
- Django用户继承AbstractUser后密码为明文
Django用户继承AbstractUser后密码为明文 其实本不应该有这个问题,却花了我很久的时间,因为还是初学阶段. 造成这个原因是因为在admin注册的生活没有指定Admin 在app的admi ...
- 转Centos7.0进入单用户模式修改root密码
Centos7.0进入单用户模式修改root密码 启动Centos7 ,按空格让其停留在如下界面. 按e进行编辑 在UTF-8后面输入init=/bin/sh 根据提示按ctrl+x 得如下图 输 ...
- windows Server 2008 R2 添加新用户时密码不满足密码策略的要求
---------------------------本地用户和组---------------------------在计算机 WINSERVER2008R2 上创建用户 lintx 时,出现了以下 ...
随机推荐
- node-webkit学习(1)hello world
)hello world 文/玄魂 目录 node-webkit学习(1)hello world 前言 1.1 环境安装 1.1.1 windows下的安装 1.1.2 linux环境下的安装 1 ...
- 《Python黑帽子:黑客与渗透测试编程之道》 Windows系统提权
环境准备: pywin32的安装在第八章的键盘记录中有,这里还需要安装wmi: 在本人的32位win7上本来是没有easy_install这个命令的,这需要安装setuptools-0.6c11.wi ...
- 关于 IPv6
http://test-ipv6.com/ http://bbs.chinaunix.net/thread-1799798-1-1.html
- [转载]Java并发编程:深入剖析ThreadLocal
原文地址:http://www.cnblogs.com/dolphin0520/p/3920407.html 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨 ...
- Dubbo启动时服务检查
所谓启动时服务检查是指Dubbo在启动的时候会检查当前引用的服务是否可用,不可用会抛出异常,阻止程序的初始化,以便能在上线前快速的找到问题,默认的情况下check=true 通过设置check=fal ...
- Vue过渡动画—Vue学习笔记
要求:要通过Vue使用过渡动画我们要把需要过度的元素放在<transition name='变量名'></transition>中. 原理:通过在特定的时刻增加/移除样式实现. ...
- 题解 P2146 【[NOI2015]软件包管理器】
题目大意 给你一棵树, 求一点到根的路径上有多少个未标记点并全标记, 和询问一个点的子树内有多少已标记点和撤销标记 解题方法 1: install 操作 这个操作是求一点到根的路径上有多少个未 ...
- 6_文件IO
1. 基本文件读取 readline(),readlines(),write(),writelines() f.read(size),指定读取文件的字节数,需要注意的是 ...
- POJ 2421
#include<iostream> #include<stdio.h> #define MAXN 500 #define inf 100000000 using namesp ...
- 08-03 java 继承
继承格式,优缺点,概述: /* 继承概述: 把多个类中相同的内容给提取出来定义到一个类中. 如何实现继承呢? Java提供了关键字:extends 格式: class 子类名 extends 父类名 ...