原文地址:一个基于RSA算法的Java数字签名例子 一.前言: 网络数据安全包括数据的本身的安全性.数据的完整性(防止篡改).数据来源的不可否认性等要素.对数据采用加密算法加密可以保证数据本身的安全性,利用消息摘要可以保证数据的完整性,但是还有一点就是数据来源的不可否认性(也就是数据来自哪里接收者是清楚的,而且发送数据者不可抵赖). 有些方案曾经使用消息认证码(MAC)来保证数据来源于合法的发送着,但是利用消息认证码会带来一个问题,就是通讯双方必须事先约定两者之间的通讯用共享密码.在我们的互联网…
1 前言 目前,商用软件和共享软件绝大部份都是采用注册码授权的方式来保证软件本身不被盗用,以保证自身的利益.尽管很多常用的许多软件系统的某些版本已经被别人破解,但对于软件特殊行业而言,注册码授权的方式还是一种保护软件系统本身的一种有效的手段. 通常而言,注册码授权方式有以下几种方式: u  安装序列号方式:这是最为常用的方式,Mircosoft提供的产品(例如:Windows系列产品.Office系列产品等等)都是采用这种方式.通过一种复杂的算法生成安装序列号,在安装过程中,安装程序对用户输入的…
RSA算法属非对称加密算法,在实际使用中,往往客户端使用公钥进行加密传递敏感数据,服务端server使用私钥进行解密,这样防止中间人从网络获取敏感数据的明文. Android端主要代码如下: package com.example.rsatest; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.security.KeyFactory; import java.securi…
package javaes.zixue.wangshang.daima; 2 3 import java.awt.Cursor; import java.awt.Image; import java.awt.Point; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import…
项目中用到的一个hud,基于MBProgressHUD,使用自定义视图实现的,动画效果是从网上参考的,并不是很理想.有需要的可以看看,这里是源码(源码用了cocoapods,运行前需要pod install).附上效果: 里面有一些关于MBProgressHUD的设置的,如下: hud.opacity = 0.2; hud.mode = MBProgressHUDModeCustomView; hud.margin = 10.0f; //设置HUD和customerView的边距(默认是20)…
RSA加密算法简介 SA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用.对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠.假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降.但找到这样的算法的可能性是非常小的.今天只有短的RSA钥匙才可能被强力方式解破.到目前为止,世界上还没有任何可靠的攻击RSA算法的方式.只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的. RS…
Rsapaper.pdf http://people.csail.mit.edu/rivest/Rsapaper.pdf [概述Abstract 1.将字符串按照双方约定的规则转化为小于n的正整数m,可能分为多段,这不是关键: 2.加密过程同解密过程,都是取明/密文的public/private次方,然后对公共的n取余数: 3.整数转化为字符串 ] A message is encrypted by representing it as a number M, raising M to a pu…
package rsa; import java.security.*;import java.security.interfaces.*;import javax.crypto.*; public class Test {        protected static RSAPrivateKey privateKey;    protected static RSAPublicKey publicKey;    protected static byte[] resultBytes;   …
aes代码示例: package com.autoyol.util.security.test; import java.security.Key; import java.security.NoSuchAlgorithmException; import java.security.interfaces.RSAPublicKey; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.…
1.非对称加密过程:         假如现实世界中存在A和B进行通讯,为了实现在非安全的通讯通道上实现信息的保密性.完整性.可用性(即信息安全的三个性质),A和B约定使用非对称加密通道进行通讯,具体过程如下:         说明:         国内目前使用双证书体系,即用户同时拥有签名证书.加密证书两张证书.签名证书是用户的身份认证,是和CA协商的结果,可用于对用户A的身份验证:加密证书是用来对信息进行加密,是用户和秘钥管理系统生成.我们在这里假设都适合CA进行交互.         ①…