- 博客(1)
- 资源 (20)
- 收藏
- 关注
原创 mysql不支持PreparedStatement.setArray()的解决方案
查询中有in条件的时候mysql数据库不支持通过PreparedStatement.setArray()传递数组的方式设置参数,如: PreparedStatement pstmt = conn.prepareStatement(“select * from table1 where id in (?)”); Array array = conn.createArrayOf(“VARCHAR”
2018-01-12 15:25:53 3134 1
go-ipfs_v0.4.22 windows linux版运行包
包含go-ipfs_v0.4.22_linux-386.tar.gz、go-ipfs_v0.4.22_linux-amd64.tar.gz、go-ipfs_v0.4.22_windows-386.zip、go-ipfs_v0.4.22_windows-amd64.zip 4个运行包。
2019-11-17
C# 模拟数字签名过程
数字签名过程:
(1) 发方A用自己的私钥PVA,采用非对称RSA算法,将原文信息进行哈希(hash)运算,并对hash值进行加密,即得数字签名DS;(RSACryptoServiceProvider.SignData())
(3) 发方A用对称算法AES的对称密钥SK对原文信息、数字签名SD及发方A证书的公钥PBA采用对称算法加密,得加密信息E;(Rijndael.CreateEncryptor())
(4) 发方用收方B的公钥PBB,采用RSA算法对对称密钥SK加密,形成数字信封DE,就好像将对称密钥SK装到了一个用收方公钥加密的信封里;(RSACryptoServiceProvider.Encrypt())
(5) 发方A将加密信息E和数字信封DE一起发送给收方B;
(6) 收方B接受到数字信封DE后,首先用自己的私钥PVB解密数字信封,取出对称密钥SK;(RSACryptoServiceProvider.Decrypt())
(7) 收方B用对称密钥SK通过AES算法解密加密信息E,还原出原文信息、数字签名SD及发方A证书的公钥PBA;(Rijndael.CreateDecryptor())
(8) 收方B验证数字签名,先用发方A的公钥解密数字签名得数字摘要MD;
(9) 收方B同时将原文信息用同样的哈希运算,求得一个新的数字摘要MD`;(RSACryptoServiceProvider.VerifyData())
(10)将两个数字摘要MD和MD`进行比较,验证原文是否被修改。如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的;否则拒绝该签名。
程序用法:
“生成证书”按钮,生成发送方、接收方对应的公钥证书和私钥证书。
“签名”按钮,使用发送方私钥、发送方公钥、接收方公钥对文本框中的文本进行数字签名。得到签名后的文本。
“还原验证”按钮,使用接收方私钥将签名后的文本还原,并进行验证。
2011-03-31
C# 读注册表获取U盘使用记录
通过读取注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR信息下各项的信息,获取U盘记录。
2011-03-11
C# 文件校验码查看器(MD5、SHA1、SHA256、SHA384、SHA512、CRC32)
C#编写的文件校验码查看器,将文件拖入窗口即可计算,校验算法包括MD5、SHA1、SHA256、SHA384、SHA512、CRC32。
2011-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人