public class Test{ public static void main(String[] args) throws Exception { String postString = "abc"; String signature = ByteToHex(genHMAC(postString, "310A54B3C9C12920E1582E016F15DD441ACE8553769E8991")).toUpperCase(); } /** * 使用 HMA…
Java HmacSHA1算法 public static String hmacSha1(String src, String key) { try { SecretKeySpec signingKey = new SecretKeySpec(key.getBytes("utf-8"), "HmacSHA1"); Mac mac = Mac.getInstance("HmacSHA1"); mac.init(signingKey); byte[…
public static String hamcsha1(byte[] data, byte[] key) { try { SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA1"); Mac mac = Mac.getInstance("HmacSHA1"); mac.init(signingKey); return byte2hex(mac.doFinal(data)); } catch (NoS…
转:http://blog.csdn.net/ae6623/article/details/8851801 本篇将讲解cas-server端的认证方式 1.最简单的认证,用户名和密码一致就登录成功 2.配置oracle的jdbc数据源,通过spring动态查询数据库 3.配置oracle和mysql的数据源,通过spring动态查询数据库,一个满足就立即登录成功 4.配置oracle和mysql的数据源,以及添加一个java类,三者认证,有一个满足就立即登录成功. 5.穿插自定义的MD5加密类对…
1.使用Spring的DigestUtils public class StringUtilTest { static final String TARGET = "changeme"; /* * 不可逆算法 MD5 */ @Test public void Md5() { String str = DigestUtils.md5DigestAsHex(TARGET.getBytes()); System.out.println("md5Hex: "+str); }…
落雨 cas 单点登录 本篇将讲解cas-server端的认证方式 1.最简单的认证,用户名和密码一致就登录成功 2.配置Oracle的jdbc数据源,通过spring动态查询数据库 3.配置oracle和MySQL的数据源,通过spring动态查询数据库,一个满足就立即登录成功 4.配置oracle和mysql的数据源,以及添加一个Java类,三者认证,有一个满足就立即登录成功. 5.穿插自定义的MD5加密类对用户的密码进行加密和数据库里已经MD5加密的密码做对比. 好的,开始吧. 测试一:…
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒. 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小. 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动. 现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,各个小球的位置. 提示 因为所有小…
1.认证和授权概述 (1)认证:对用户的身份进行验证. .NET基于的RBS(参考1)的认证和授权相关的核心是2个接口System.Security.Principal.IPrincipal和System.Security.Principal.IIdentity.我们自己实现认证过程,通过Thread.CurrentPrincipal来设置和读取认证结果.认证成功后设置认证状态和标识. Java内置了的JAAS(参考2),核心是javax.security.auth.Subject类和javax…
RSA      这样的算法1978年就出现了.它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作.也非常流行.算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman. 这样的加密算法的特点主要是密钥的变化,上文我们看到DES仅仅有一个密钥.相当于仅仅有一把钥匙.假设这把钥匙丢了,数据也就不安全了.RSA同一时候有两把钥匙,公钥与私钥. 同一时候支持数字签名. 数字签名的意义在于.对传输过来的数据进行校验.确保数据在传输proj…
Java 密码学算法 候捷老师在< 深入浅出MFC 2e(电子版)>中引用林语堂先生的一句话: 只用一样东西,不明白它的道理,实在不高明 只知道How,不知道Why,出了一点小问题时就无能为力了.我们课上鼓励大家在Linux下学习编程,尽量在命令行中编辑/编译/调试程序,Git的使用,数据库的管理都先会命令方式下使用,这样在IDE中,在GUI界面中出了问题,我们有更好的方法查找. 现在我们遇到另外一个极端,不会用一样东西,却想要明白它的道理,这实在太难了.比如有的同学连Linux都没用过,却想…