工作中用到的加密算法。
/**
* 加密网卡MAC地址
*
* @param mac 网卡MAC地址
* @return 加密后的网卡MAC地址
*/
public static String encryptMac(String mac) {
StringBuffer buffer = new StringBuffer();
String[] segments = mac.split("-");
Random random = new Random();
for (String segment : segments) {
buffer.append("-");
for (int i = 0; i < segment.length(); i++) {
int rand = random.nextInt(10);
buffer.append((char)('A' + rand));
int initValue = String2Integer(segment.substring(i, i + 1), 16);
initValue ^= rand;
buffer.append((char)('A' + initValue));
}
}
return buffer.length() > 0 ? buffer.substring(1) : "";
}
/**
* 解密网卡MAC地址
*
* @param encryptMac 加密后的网卡MAC地址
* @return 网卡MAC地址
*/
private static String decryptMac(String encryptMac) {
StringBuffer buffer = new StringBuffer();
String[] segments = encryptMac.split("-");
for (String segment : segments) {
buffer.append("-");
for (int i = 0; i + 1 < segment.length(); i++) {
int rand = segment.charAt(i) - 'A';
int next = segment.charAt(++i) - 'A';
int originVal = next ^ rand;
buffer.append(Integer.toHexString(originVal));
}
}
System.out.println(buffer);
return buffer.length() > 0 ? buffer.substring(1) : "";
}
加密方法测试:decrpyt("00-21-9b-3d-29-0c")
解密方法测试:不解释
分享到:
相关推荐
基于Qt写了一个字符串加密的算法模块(有源码),并封装成了动态库,有测试用例。实现的加密解密算法是AES加密对称算法和BlowFish。用户可以直接用动态库,也可以用源码编译。
字符串加密解密算法
JAVA可逆带秘钥字符串加密算法,JAVA可逆带秘钥字符串加密算法
主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下
一个简单的字符串加密解密算法,使用C#语言实现。。。
该资源主要包含连个文件,一个是封装了加密算法的AES.pas文件,用户可以直接调用其中提供的接口,实现对字符串的128,256加密和解密。
本文实例为大家分享了python实现字符串加密成纯数字的具体代码,供大家参考,具体内容如下 说明: 该加密算法仅仅是做一个简单的加密,安全性就不谈了,哈哈. 算法流程: 1.字符串以utf8编码成字节数组 2.把每一个...
c语言实现md5算法字符串加密,vc调试通过
js中对字符串加密解密算法
C# 字符串加密简单算法一例! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/
字符串加密,简单算法实现字符串加密
本加密目标完成短文本(100个字符内),并没有测试过大文本,长字符串的情况。 分3组: 第一组:不需要解密方事先获悉KEY。应用场景是程序把需要关键信息加密后保存在配置文件中,防止被第三人打开配置文件而获取信息...
字符串加密,使用MD5或者SHA算法对字符串加密
3DES,BlowFish,DES,MD5,RC2,Rijndael,SHA,SHA256,SHA384,SHA512,TwoFish。够多的了,其中几种是变型的加解密。适合字符串变换,整体加密,而不是常用的那种修改原文个别字符就能看到密文相应位置的变化。
PHP编写的一个用于文件加密的算法,可以加密任何文件,输出是二进制内容文件。其中加密时可配置盐等。此算法可以用于文件管理系统等方面文件加密。
关于经典算法--压缩字符串(将字符串内连续重复出现的字符进行压缩),个人的想法
DES(Data Encryption Standard)是发明最早的最广泛使用的分组对称加密算法。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密...
C#实现字符串SHA-256加密算法,非常好用,供大家学习参考。
此资源加密方式包括 MD2, MD5, SHA-1, HAVAL, Tiger, RIPE-MD160, MD5-MAC, HMAC, XOR-MAC, DES,IDEA, WAKE, 3-WAY, TEA, SAFER, Blowfish,SHARK, GOST, CAST-128, Square,Diamond2, Sapphire, RC2, RC5, RC6, MARS,...