1、客户上传信用卡号码,加密保存数据库
2、客户账户信息,只显示信用卡最后4位 (*****1234)
3、在管理端,需要显示客户完整的信用卡号码
谁能给一个好点的解决方案?
譬如:
对称算法:DES、 TripleDES和Rijndael
不对称算法:RSA、DSA
我也是临时抱佛脚刚找来的,可能还有其他算法,用哪个比较适合?
有人能给点建议吗?
public class DESEncrypt
{
/// <summary>
/// 解密
/// </summary>
/// <param name="text"></param>
/// <param name="key"></param>
/// <returns></returns>
public static string Decrypt(string text, string key)
{
DESCryptoServiceProvider provider1 = new DESCryptoServiceProvider();
int num1 = text.Length / 2;
byte[] buffer1 = new byte[num1];
for (int num2 = 0; num2 < num1; num2++)
{
int num3 = Convert.ToInt32(text.Substring(num2 * 2, 2), 0x10);
buffer1[num2] = (byte)num3;
}
provider1.Key = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(key, "md5").Substring(0, 8));
provider1.IV = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(key, "md5").Substring(0, 8));
MemoryStream stream1 = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream1, provider1.CreateDecryptor(), CryptoStreamMode.Write);
stream2.Write(buffer1, 0, buffer1.Length);
stream2.FlushFinalBlock();
return Encoding.Default.GetString(stream1.ToArray());
}
/// <summary>
/// 加密
/// </summary>
/// <param name="text"></param>
/// <param name="key"></param>
/// <returns></returns>
public static string Encrypt(string text, string key)
{
DESCryptoServiceProvider provider1 = new DESCryptoServiceProvider();
byte[] buffer1 = Encoding.Default.GetBytes(text);
provider1.Key = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(key, "md5").Substring(0, 8));
provider1.IV = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(key, "md5").Substring(0, 8));
MemoryStream stream1 = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream1, provider1.CreateEncryptor(), CryptoStreamMode.Write);
stream2.Write(buffer1, 0, buffer1.Length);
stream2.FlushFinalBlock();
StringBuilder builder1 = new StringBuilder();
foreach (byte num1 in stream1.ToArray())
{
builder1.AppendFormat("{0:X2}", num1);
}
return builder1.ToString();
}
}
真的安全吗之51信用卡管家Android客户端审计报告 1.讲这个漏洞先要介绍一下一个安卓系统特性:db-journal 文件是 sqlite 的一个临时的日志文件,主 要用于 sqlite 事务回滚机制,在事务开始时产生,在事务结束时删除;当...
总的来讲,目前公认比较安全的存储密码方式是PBKDF2, BCrypt 或 SCrypt 算法产生的密码。历史上密码加密存储经历了如下几个阶段:1. 单向hash(MD5) 做单向的hash加密,以MD5和sha算法为代表,这类做法比明文直接...
一、数据概念 1、脏数据所指的就是未提交的数据。也就是说,一个事务正在对一条记录做修改,在这个事务完成并提交之前,这条数据是处于待定状态的(可能提交也可能回滚),这时,第二个事务来读取这条没有提交的...
一、定义: CHECK 约束用于限制列中的值的范围。 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。...做数据库,就必须要会写约束。 运算符 含义 = 等于
一、测试需求描述 ... 2、 接口的主要分成两类,一类提供给查询功能接口,一类提供保存数据功能接口,这里我们举例2个保存数据的接口,因为这两个接口有... 保存信用卡账户信息接口: 传入参数:
那种超大规模的应用,如股票交易、信用卡结算,涉及到问题太多,一两句说不清楚。 这里主要说说,我们平时接触到的大多是一些中小型的结算系统,如连锁商场的会员卡储值系统,校园餐卡系统,加油站,网站在线交易...
如果设计一个需要用户注册的网站,根据现在的常用技术实现方法,可以在数据库中建立一个用于存放用户信息的表,这个表中至少包括用户账号字段:UserAccount和用户密码字段:Password。当用户登录时候,程序将用户...
数据库事务: 数据库事务通常指对数据库进行读或写的一个操作序列。 它的存在包含有以下两个目的: 1、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的...
事务是最小的逻辑执行单元,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务具有四个重要特征,即原子性、一致性、隔离性和持久性。本文首先叙述了数据库中事务...
测试需求描述 ...保存信用卡账户信息接口: 传入参数: args={ "clientNo":"434343556", "alias": "**信用卡2", "cardName": "长城****.
目前最大的备份软件公司非Veritas公司莫属,Veritas的备份软件产品有Exec和netbackup两大类,exec为入门级产品,这里不作讨论。netbackup(以后简称nb),我的总结是:“功能真他妈强,操作全要命令行”。...
https://www.cnblogs.com/weifb/articles/3999273.html影响查询语句执行性能的常见因素1....4.数据库结构的设计不合理,导致数据库中存在大量重复数据。5.没有创建索引或者索引的设计不合理。6.没有创建有效的索引
使用MD5加密数据库中的用户密码介绍 ●前言我们知道,现在网络上一般的网站,稍微完善一点的,往往都需要用户先注册,提供诸如电子邮件、账号、密码等信息以后,成为网站栏目的注册用户,才可以享受网站一些特殊...
来源: http://www.zybang.com/question/e23cf724ee5a0d00d2cba4f9ccb2d23b.html https://zhidao.baidu.com/question/53409759.html ... 指数据的精确性(accuracy) 和可靠性(reliability)。它是应防
一、定义: CHECK 约束用于限制列中的值的范围。 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。... (1)、在数据库关系图中,右击包含约束的表,然后从快捷菜单中选择"约束"命令。 -或- ...
对于同时运行的多个事务, 当这些事务访问数据库中相同的数据时, 如果没有采取必要的隔离机制, 就会导致各种并发问题 事务的特性-ACID - 1.原子性:事务里面的操作单元不可切割,要么全部成功,要么全部失败 - 2.一致...
在现阶段,我们一般认为存在两种加密方式,...双向加密适合于隐秘通讯,比如,我们在网上购物的时候,需要向网站提交信用卡密码,我们当然不希望我们的数据直接在网上明文传送,因为这样很可能被别的用户“偷听”,我
所有性能测试工具都可以做接口测试,当然Jmeter也会是一款... 2、 接口的主要分成两类,一类提供给查询功能接口,一类提供保存数据功能接口,这里我们举例2个保存数据的接口,因为这两个接口有关联性,比较有代表性。
系统全局区(SGA):是ORACLE为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。 SGA主要包括: 1. 共享池(shared pool) :用来存储最近执行的SQL语句和最近使用的...
SQL注入是影响企业运营最具破坏力的漏洞之一,他会泄露保存在应用程序数据库中的敏感信息。本文利用虚拟机搭建测试环境,使用kali linux进行SQL注入实验
如果数据库引擎能够成功地对数据应用该组查询的全部语句,那么久执行该组查询。如果其中任何一条语句因为崩溃或其他原因无法执行,那么所有语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行...
与J2EE开发人员进行对话时,数据库管理员需要了解的内容。 如果你是一个与Java开发人员协同工作的Oracle数据库管理员,你可能与他们有很多不同的看法。例如,当他们想改变数据库模式以更好地存储他们的对象时,你...
MongoDB的内部构造《MongoDB The Definitive Guide》 ...MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本人也刚买了《MongoDB TheDefinitive Guide》的影印版,还没来
作者简介:杜淼淼,中国建设银行广东省分行。(广州 510045) ... 随着金融的全球化以及金融市场的波动...体现在个人信贷业务方面,金融机构需要更加严格、谨慎地进行个人信用评估,对个人的历史记录、行为状况
SQL中的CHECK约束的详细讲解 CHECK 约束(CHECK 约束:定义列中可接受的数据值。可以将 CHECK 约束应用于多个列,也可以将多个 CHECK 约束应用于单个列。当除去某个表时,也将除去 CHECK 约束。)指定可由表中一列或多...
MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本人也刚买了《MongoDB TheDefinitive Guide》的影印版,还没来得及看,本文原作者将其书中一些关于MongoDB内部现实方面的一些知识介绍...
今天客户来访(日本人),问我DB2和Oracle区别。因为不是DBA(勉强的理由),我还真没有认真总结过。但我的第一感觉:一个是instance,一个是Database。建Ora库和DB2的库是不一样的。实在是はずかしい。...
1.对字符串操作的函数? 答:ASCII() –函数返回字符表达式最左端字符的ASCII 码值 CHR() –函数用于将ASCII 码转换为字符 –如果没有输入0 ~ 255 之间的ASCII 码值CHR 函数会返回一个NULL 值 ...
原文:Introduction to SubSonic介绍了SubSonic,一个数据层构建器导言一 个易维护的应用程序,不同的类之间有不同的分工,通常分为界面层、业务层和数据访问层...SubSonic帮助你基于数据库自动创建数据库访问层。SubS
项目一:交通银行全国大集中IBP(国际业务系统)项目 项目简介(功能与用途): 交通银行自从2002年开始做全国的数据大集中,其中IBP(国际业务系统)项目,是实现交行国际业务中现有的国际结算、贸易融资,外汇管理...