- 浏览: 52511 次
- 性别:
- 来自: 西安
最近访客 更多访客>>
最新评论
-
gundumw100:
如何反过来旋转?比如按一下顺时针旋转,在按一下逆时针旋转。
android视图360度旋转效果 -
xuehaipeng:
龙哥IT 写道这个案例可不可以分页啊?这个例子只是支持Scro ...
scrollView中实现listView的解决方法 -
龙哥IT:
动态加载分页
scrollView中实现listView的解决方法 -
龙哥IT:
这个案例可不可以分页啊?
scrollView中实现listView的解决方法 -
xwq18:
谢谢了,很好很强大
java时间差
package com.john.j2se.util; /** * MD5加密算法 */ import java.security.MessageDigest; public class MD5Util { public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; try { byte[] btInput = s.getBytes(); MessageDigest mdInst = MessageDigest.getInstance("MD5"); mdInst.update(btInput); byte[] md = mdInst.digest(); int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexDigits[byte0 >>> 4 & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new String(str); } catch (Exception e) { e.printStackTrace(); return null; } } }
MD5加密算法是一种单向加密算法。
import java.io.UnsupportedEncodingException; public class Base64 { private static char[] base64EncodeChars = new char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/' }; private static byte[] base64DecodeChars = new byte[] { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1 }; //编码 public static String encode(byte[] data) { StringBuffer sb = new StringBuffer(); int len = data.length; int i = 0; int b1, b2, b3; while (i < len) { b1 = data[i++] & 0xff; if (i == len) { sb.append(base64EncodeChars[b1 >>> 2]); sb.append(base64EncodeChars[(b1 & 0x3) << 4]); sb.append("=="); break; } b2 = data[i++] & 0xff; if (i == len) { sb.append(base64EncodeChars[b1 >>> 2]); sb.append(base64EncodeChars[((b1 & 0x03) << 4) | ((b2 & 0xf0) >>> 4)]); sb.append(base64EncodeChars[(b2 & 0x0f) << 2]); sb.append("="); break; } b3 = data[i++] & 0xff; sb.append(base64EncodeChars[b1 >>> 2]); sb.append(base64EncodeChars[((b1 & 0x03) << 4) | ((b2 & 0xf0) >>> 4)]); sb.append(base64EncodeChars[((b2 & 0x0f) << 2) | ((b3 & 0xc0) >>> 6)]); sb.append(base64EncodeChars[b3 & 0x3f]); } return sb.toString(); } //解码 public static byte[] decode(String str) throws UnsupportedEncodingException { StringBuffer sb = new StringBuffer(); byte[] data = str.getBytes("US-ASCII"); int len = data.length; int i = 0; int b1, b2, b3, b4; while (i < len) { /* b1 */ do { b1 = base64DecodeChars[data[i++]]; } while (i < len && b1 == -1); if (b1 == -1) break; /* b2 */ do { b2 = base64DecodeChars[data[i++]]; } while (i < len && b2 == -1); if (b2 == -1) break; sb.append((char)((b1 << 2) | ((b2 & 0x30) >>> 4))); /* b3 */ do { b3 = data[i++]; if (b3 == 61) return sb.toString().getBytes("iso8859-1"); b3 = base64DecodeChars[b3]; } while (i < len && b3 == -1); if (b3 == -1) break; sb.append((char)(((b2 & 0x0f) << 4) | ((b3 & 0x3c) >>> 2))); /* b4 */ do { b4 = data[i++]; if (b4 == 61) return sb.toString().getBytes("iso8859-1"); b4 = base64DecodeChars[b4]; } while (i < len && b4 == -1); if (b4 == -1) break; sb.append((char)(((b3 & 0x03) << 6) | b4)); } return sb.toString().getBytes("iso8859-1"); } }
Base64 是一种双向加密算法
发表评论
-
Java 理论与实践: 线程池与工作队列
2010-08-27 09:35 845转:http://www.ibm.com/developerw ... -
线程Stack用法
2010-07-20 15:05 971private int getThreadCount(){ ... -
Sax解析结合Xpath的用法
2010-05-26 14:23 2612package sax; import java.i ... -
日期的一些常用命令
2010-05-24 09:38 746package com.john.j2se.date; ... -
通过uuid获得不同的字符串
2010-05-19 13:42 940public static String recognis ... -
常用正则表达式
2010-04-01 18:14 656"^\d+$" //非负 ... -
数据库连接池用法
2010-03-31 15:15 961连接池管理器: package com.itmg.dao. ... -
properties文件的使用
2010-03-31 15:04 789首先有个名字是TransServer.properties的文 ... -
字符集过滤
2010-03-26 10:52 997web.xml中的配置 <!-- 字符集过滤器 -- ... -
spring简单的搭建
2010-03-26 10:49 765类中要调用beanID的方式: package com.i ... -
java实现英文字母统计
2010-03-18 15:43 1544import java.util.ArrayList; ... -
java时间差
2010-03-18 14:11 3516转载:http://baile8410.iteye.com/b ... -
tld标签分页处理
2010-03-16 11:30 1425my-tag.tld <?xml version= ... -
java日期工具类
2010-03-15 16:52 974//取一天中的hour值 public static ... -
自动获取文件路径
2010-03-15 14:19 1048private static String getReal ... -
全角和半角直接的转换
2010-03-13 10:05 928package com.john.j2se.util; ...
相关推荐
本文将详细介绍C++中SHA1、MD5和Base64加解密算法的实现及其原理。这些技术广泛应用于密码存储、数据完整性验证以及网络传输中。 首先,SHA1(Secure Hash Algorithm 1)是一种哈希函数,它接受任意长度的数据输入...
c++实现base64算法加密解密,不需要修改,直接运行即可
标题中的“PB可用md5加密、des加解密,Base64编码DLL、附PB11.5调用例程”表明这是一个关于PowerBuilder(PB)应用的开发资源,其中包含使用MD5加密、DES(Data Encryption Standard)解密以及Base64编码的功能。...
MD5和Base64是两种在信息技术领域广泛使用的编码与加密技术,它们各自有其...总之,MD5和Base64是信息技术中基础且实用的技术,但在现代网络安全需求下,需要结合更强大的加密算法和安全策略,以保障数据的安全和隐私。
在这个压缩包中,包含的资源可以帮助我们理解并实现SHA1、SHA、MD5、AES加密与解密,以及BASE64编码和解码。下面我们将详细探讨这些加密算法和它们在Java中的实现。 1. **SHA(Secure Hash Algorithm)**: SHA是一...
本资源提供了在Android Studio项目中使用JNI实现RSA、DES、AES以及Base64和MD5的示例。 1. **RSA**: RSA是一种非对称加密算法,它基于两个密钥——公钥和私钥。公钥可以公开,用于加密数据;而私钥必须保密,用于...
标题中的“VB6.0 RSA/AES/Md5/Base64加密 解密 微信小程序 javascript 通用”表明这是一个关于编程的示例项目,主要涵盖了四种加密和解密技术:RSA、AES、MD5和Base64。这些技术在信息安全领域广泛应用于数据保护和...
总结,虽然SQL Server 2005本身并不提供内置的Base64加密解密功能,但通过创建自定义函数,我们可以实现类似的功能。需要注意的是,上述函数仅适用于简单场景,对于更复杂的需求,可能需要更完善的Base64编码解码...
接收方收到加密后的报文后,结合密钥和解密算法解密组合后得出原始数据。 对称加密算法的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法。对称加密算法...
这样的工具类在实际开发中非常实用,开发者可以方便地对字符串进行Base64编码解码,同时也可以进行MD5、DES和AES的加密解密操作,以满足不同层次的安全需求。 使用这些加密技术时,需要注意以下几点: - 对于敏感...
在WinForm开发中,结合这两者,可以创建一个简单的数据处理工具,如一个文件加密解密器,使用Base64编码将文件内容变为不可读,然后用MD5计算编码后的数据摘要,以确保数据的完整性和一致性。 在提供的"加密程序...
RC4和Base64是两种在信息安全领域广泛应用的加密与编码技术。在本文中,我们将深入探讨这两种技术以及如何在Visual Studio 2010环境下使用C++进行实现。 首先,RC4是一种流式加密算法,由Ron Rivest在1987年设计。...
通过分析"md5test.pbl"中的代码,你可以看到如何在PB中导入和使用DLL,以及如何传递参数进行加密解密操作。通常,这会涉及到声明外部函数,指定DLL、函数名、参数类型和返回值类型。然后在代码中调用这些函数,处理...
总结,通过JavaScript进行MD5、AES和Base64的加密解密是确保Web应用数据安全的重要手段。MD5用于数据校验,AES提供强加密,而Base64则方便在网络中传输二进制数据。了解并熟练运用这些加密方法,有助于开发更安全、...
Java 提供了多种加密方式,本文将介绍四种常用的加密方式:MD5、Base64、SHA 和 BCrypt。 一、MD5 加密 MD5(Message-Digest Algorithm 5)是一种常用的哈希函数,可以将任意长度的数据转换为一个 128 位的哈希值...
本文将深入探讨三种常见的加密算法:3DES、MD5以及Base64,并介绍它们在实际应用中的工具和用途。 首先,我们来了解一下3DES(Triple DES,三重数据加密标准)。3DES是一种对称加密算法,它是DES(Data Encryption ...
Delphi源码,算法相关,base64,加密,解密 Delphi base64 加密,解密示例源代码,这是个很常用但很流行的一种加密、解密算法,做过快车下载的朋友就知道,快车的下载链就是基于此种加密方法,除了加密网址外,它还可...
摘要:本文介绍了一种基于MD5与Base64的混合加密算法,该算法将明文MD5加密得到32位16进制密文,然后将密文拆分成16个2位16进制数组,并转换成对应的二进制数,最后将16个二进制数组连接成一个128位的二进制数,采用...
易语言Base64支持密码加密是一项在易语言编程环境下实现数据加密与解密的技术,它主要涉及到了两个关键概念:Base64编码和密码加密。Base64是一种用于将二进制数据转换为可打印字符的编码方式,而密码加密则是为了...
参照网上Base64 js加密解密写的java实现,网上没看到出现过,可能大神都不屑写这种小东东,只好自己写了。弄了好几天,总算弄好了。 因为是参照 js Base64写的java实现,所以代码可实现前台js,后台java的加密,...