第一范文网 - 专业文章范例文档资料分享平台

H3C-cams DES加密算法研究总结 (6)

来源:用户分享 时间:2020-06-22 本文由寂寂无言 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

bytes[bytes.length - 3] = (byte) ((b1 << 2) | (b2 >> 4)); bytes[bytes.length - 2] = (byte) ((b2 << 4) | (b3 >> 2)); bytes[bytes.length - 1] = (byte) ((b3 << 6) | b4); }

return bytes; }

private static byte[] discardNonBase64Bytes(byte[] data) { byte[] temp = new byte[data.length]; int bytesCopied = 0;

for (int i = 0; i < data.length; i++) { if (isValidBase64Byte(data[i])) { temp[bytesCopied++] = data[i]; } }

byte[] newData = new byte[bytesCopied];

System.arraycopy(temp, 0, newData, 0, bytesCopied); return newData; }

private static String discardNonBase64Chars(String data) { StringBuffer sb = new StringBuffer(); int length = data.length(); for (int i = 0; i < length; i++) {

if (isValidBase64Byte((byte) (data.charAt(i)))) { sb.append(data.charAt(i)); } }

return sb.toString(); }

private static boolean isValidBase64Byte(byte b) { if (b == '=') { return true;

} else if ((b < 0) || (b >= 128)) { return false;

} else if (decodingTable[b] == -1) { return false; }

return true; }

public static void main(String[] args) { String data = \;

byte[] result = Base64SF.encode(data.getBytes()); System.out.println(data);

System.out.println(new String(result));

System.out.println(new String(Base64SF.decode(new String(result))));

} }

把两个合起来的mydes.java package com.h3c.imc.common;

public class mydes {

private static String genpass(String key,String data) { }

byte[] base64result;

int bytelen = data.getBytes().length;

byte[] result = new byte[(bytelen / 8)*8 + (bytelen % 8)]; byte[] bytekey = key.getBytes(); byte[] bytedata = data.getBytes(); DES des = new DES();

result = des.DesEncrypt(bytekey, bytedata,1); base64result = Base64SF.encode(result); return (new String(base64result));

private static String depass(String key,String data) {

int bytelen = data.getBytes().length;

byte[] result = new byte[(bytelen / 8)*8 + (bytelen % 8)]; byte[] bytekey = key.getBytes(); DES des = new DES();

result = Base64SF.decode(data);

result = des.DesEncrypt(bytekey, result, 0);

for (int i = 0; i < result.length; i++) {

if (result[i]<32 || result[i]>127) { } }

String outstr; }

public static void main(String[] args) { String key = \; outstr=new String(result);

return outstr.substring(0, outstr.indexOf(\));

result[i]='\\0';

String data = \; //测试加密

String pass = genpass(key,data); System.out.println(pass); //测试解密

String mwpass = depass(key,pass); System.out.println(mwpass); }

附:Base64加解密的MSSQL实现: USE [master] GO

/****** Object: UserDefinedFunction [dbo].[c_GetUTF8Code] Script Date: 06/06/2013 16:32:35 ******/ SET ANSI_NULLS ON GO

SET QUOTED_IDENTIFIER ON GO

ALTER FUNCTION [dbo].[c_GetUTF8Code] (

@char Nchar )

RETURNS int AS

--UTF8转码 BEGIN

Declare @Code int

Select @Code=Cast(Unicode(@char) as int) Declare @Utf8Code int Set @Utf8Code=0

}

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育H3C-cams DES加密算法研究总结 (6)全文阅读和word下载服务。

H3C-cams DES加密算法研究总结 (6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1093705.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top