Ⅰ 3des加密原理
使用3Des加密算法前,我们需要了解一下当前主流的加密模式:单向加密和双向加密,两者最大的区别在于加密的密文是否具有可逆性。
单向加密:将需要加密的数据进行加密,并且密文不可进行解密,像我们常用的加密算法MD5就属于这种。
双向加密:和单向加密不同的是可以通过某些方式进行加解密的操作,其中分为对称加密和非对称加密。
对称加密:指数据使用者必须拥有相同的密钥才可以进行加密解密,就像彼此约定的一串暗号,本文介绍的3Des加密就属于这种。
非对称加密:通过一组包含公钥和私钥的密码来加密解密,用公钥加密,私钥解密,首推的就是RSA加密
---------------------------------------------------------------------------------------------------------------------------------------
3Des加密算法,由于可以逆推原文,所以主要通过本地的唯一密钥来保证数据的安全性,我这边通过生成随机的256位加密字符串存储在本地,代码读取时将其通过md5加密成32位的字符串(由于本地有原始密钥,不必担心md5加密不可逆),最后以这32位加密字符串作为密钥进行加解密的操作。
Ⅱ set保护的结算交易的工作流程是什么
在opporen3手机版本下操作(1)购物者在支持set标准的网站上购物.他可用浏览器的电子钱包传输加密的财务信息和其数字证书.
(2)商家的www服务器将set加密的交易信息传输给结算卡处理中心,由后者将此交易信息解密并进行处理.同时,认证中心验证此数字签名是否属于发送者.
(3)结算卡处理中心将此交易信息发到消费者结算卡的发行机构,请求批准.
(4)最后,商家的网站收到消费者开户银行批准交易的通知.这时,交易金额就从消费者的结算卡账户里划去。
.(5)商家将商品送出;并将交易额加到结算卡交易区里,以便日后传给开户银行加入自己的账户.
SET协议是指为了实现更加完善的即时电子支付应运而生的。SET协议(SecureElectronicTransaction),被称之为安全电子交易协议,是由MasterCard和Visa联合Netscape,Microsoft等公司,于1997年6月1日推出的一种新的电子支付模型。SET协议是B2C上基于信用卡支付模式而设计的,它保证了开放网络上使用信用卡进行在线购物的安全。SET主要是为了解决用户,商家,银行之间通过信用卡的交易而设计的,它具有的保证交易数据的完整性,交易的不可抵赖性等种种优点,因此它成为公认的信用卡网上交易的国际标准。
为了使银行卡在网上支付过程中真正实现交易安全和支付的不可否认性,采用安全电子交易协议(SET)是不可缺少的步骤.SET是专门用于加密信用卡支付的协议.支付安全的目标是为了提供有关持卡人、商户和收单行的身份验证手续,提供支付数据的机密性,保持支付数据的完整性以及为相应的安全服务涉及的算法和协议进行定义.SET现在已经成为网上银行支付的安全标准,它的应用将可以为网上银行卡支付提供信息的机密性、数据的完整性、消费者账户的可确认性、商户的确定性和可靠的互操作性.
Ⅲ 3DES的加密过程
3DES加密过程为:C=Ek3(Dk2(Ek1(P)))
3DES解密过程为:P=Dk1(EK2(Dk3(C)))
具体的加/解密过程如图所示。
using System;
using System.Text;
using System. IO;
using System.Security.Cryptography;
class Class1
{
static void Main()
{
Console.WriteLine(Encrypt String...);
txtKey = tkGGRmBErvc=;
btnKeyGen();
Console.WriteLine(Encrypt Key :{0},txtKey);
txtIV = Kl7ZgtM1dvQ=;
btnIVGen();
Console.WriteLine(Encrypt IV :{0},txtIV);
Console.WriteLine();
string txtEncrypted = EncryptString(1111);
Console.WriteLine(Encrypt String : {0},txtEncrypted);
string txtOriginal = DecryptString(txtEncrypted);
Console.WriteLine(Decrypt String : {0},txtOriginal);
}
private static SymmetricAlgorithm mCSP;
private static string txtKey;
private static string txtIV;
private static void btnKeyGen()
{
mCSP = SetEnc();
byte[] byt2 = Convert.FromBase64String(txtKey);
mCSP.Key = byt2;
}
private static void btnIVGen()
{
byte[] byt2 = Convert.FromBase64String(txtIV);
mCSP.IV = byt2;
}
private static string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
private static string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Encoding.UTF8.GetString(ms.ToArray());
}
private static SymmetricAlgorithm SetEnc()
{
return new DESCryptoServiceProvider();
}
}
K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是比较安全的。若数据对安全性要求不那么高,K1可以等于K3。在这种情况下,密钥的有效长度为112位。
Ⅳ 安全电子交易SET-使用SET协议购物过程
SET协议涉及的当事人包括持卡人、发卡机构、商家、银行以及支付网关。SET协议提供了消费者、商家和银行之间的认证,确保了交易数据的机密性、真实性、完整性和交易的不可否认性,特别是保证不将消费者银行卡号暴露给商家,因此它成为了目前公认的信用卡/借记卡的网上交易的国际安全标准。SET协议的购物流程如图
使用SET协议进行购物的流程
使用SET协议的具体购物流程如下:</br>
(1)持卡人使用浏览器在商家的Web页面上查看和浏览在线商品及目录。</br>
(2)持卡人选择要购买的商品。</br>
(3)持卡人填写订单,包括项目列表、价格、总价、运费、搬运费和税费等。订单可通过电子化方式从商家传送过来,或由持卡人的电子购物软件建立。有些在线商店允许持卡人与商家协商物品的价格。</br>
(4)持卡人选择付款方式,此时SET开始介入。</br>
(5)持卡人通过网络发送给商家一个完整的订单及要求付款的指令。在SET中,订单和付款指令由持卡人进行数字签名,同时,利用双重签名技术保证商家看不到持卡人的账号信息。</br>
(6)商家接受订单,通过支付网关向持卡人的金融机构请求支付认可。在银行和发卡机构确认和批准交易后,支付网关给商家返回确认信息。</br>
(7)商家通过网络给顾客发送订单确认信息,为顾客配送货物,完成订购服务。客户端软件可记录交易日志,以备将来查询。</br>
(8)商家为顾客配送货物,完成订购服务。</br>
(9)商家可以立即请求银行将钱从购物者账号转移到商家账号,也可以等到某一时间,请求成批划账处理。一次购物到此结束。</br>
Ⅳ DB2 数据库 利用存储过程实现3DES加密
create or replace procere test(in in_where varchar(100)) --创建一个存储过程test,并可以传入字符串作为参数
declare v_sql varchar(512);
set v_sql = ' delete from table1 where field1 in (' concat in_where concat ') ' ; -- 这里是把传进来的where语句拼起来
execute immediate v_sql; --这里是把语句进行执行---------类似以上这样的存储过程,使用以下的放在进行执行即可:call test( ' ''001'',''002'' ') ; --内容中的一个‘ 需要使用 ’‘ 进行转义
Ⅵ 3DES的算法介绍
3DES又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组织规范为ANSI X.3.92。DES使用56位密钥和密码块的方法,而在密码块的方法中,文本被分成64位大小的文本块然后再进行加密。比起最初的DES,3DES更为安全。
3DES(即Triple DES)是DES向AES过渡的加密算法(1999年,NIST将3-DES指定为过渡的加密标准),加密算法,其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密文,这样:
3DES加密过程为:C=Ek3(Dk2(Ek1(P)))
3DES解密过程为:P=Dk1(EK2(Dk3(C)))
Ⅶ SET技术的购物流程
电子商务的工作流程与实际的购物流程非常接近,使得电子商务与传统商务可以很容易融合,用户使用也没有什么障碍。从顾客通过浏览器进入在线商店开始,一直到所定货物送货上门或所定服务完成,以及帐户上的资金转移,所有这些都是通过公共网络(Internet)完成的。如何保证网上传输数据的安全和交易对方的身份确认是电子商务能否得到推广的关键。这正是SET所要解决的最主要的问题。一个包括完整的购物处理流程的SET的工作过程如下:
(1)持卡人使用浏览器在商家的WEB主页上查看在线商品目录,浏览商品。
(2)持卡人选择要购买的商品。
(3)持卡人填写定单,包括项目列表、价格、总价、运费、搬运费、税费。定单可通过电子化方式从商家传过来,或由持卡人的电子购物软件建立。有些在线商场可以让持卡人与商家协商物品的价格(例如出示自己是老客户的证明,或给出竞争对手的价格信息)。
(4)持卡人选择付款方式,此时SET开始介入。
(5)持卡人发送给商家一个完整的定单及要求付款的指令。在SET中,定单和付款指令由持卡人进行数字签名,同时利用双重签名技术保证商家看不到持卡人的帐号信息。
(6)商家收到定单后,向持卡人的金融机构请求支付认可。通过支付网关到银行,再到发卡机构确认,批准交易。然后返回确认信息给商家。
(7)商家发送定单确认信息给顾客。顾客端软件可记录交易日志,以备将来查询。
(8)商家给顾客装运货物,或完成订购的服务。到此为止,一个购买过程已经结束。商家可以立即请求银行将钱从购物者的帐号转移到商家帐号,也可以等到某一时间,请求成批划帐处理。
(9)商家从持卡人的金融机构请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如在每天的下班前请求银行结一天的帐。