首页 > 编程知识 正文

java 加密算法,java加密解密

时间:2023-05-06 05:26:15 阅读:57293 作者:3440

0引言信息作为一种资源,具有普遍性、共享性、增值性、可处理性及多功能性等特点,对人类具有特别重要的意义[1]。 信息安全概念在20世纪经历了漫长的历史阶段,自90年代以来不断深化[2]。 进入21世纪,随着计算机技术的发展,信息安全的重要性被凸显出来。 信息安全的本质是保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏[3]。 目前主要通过加密方法处理信息,达到了保证信息机密性和完整性的目的[4]。 在数据存储、处理、交换等过程中,存在泄露、拦截、窃听、篡改和伪造的可能[4]。 通过对多种加密算法的分析和研究,实现了统一的加密通信平台,以满足数据机密性和完整性的客观需要。 1方案设计和关键算法的实现在本设计中主要完成基于套接字的点对点通信和文件传输、对称和非对称通信加密、对称和非对称文件传输加密、文件签名认证等内容。 1.1方案设计图1主要模块关系结构主要模块的层次关系如图1所示。 每个模块的主要功能:(1) trans.cipher:负责实现解密功能,具体实现AES、DES、RSA三种解密算法,并向外界提供相关API。 )2) trans.control:通过调用trans.cipher、trans.config、trans.control、trans.thread和trans.util的相关API )4) trans.util:负责提供其他软件包常用的基本功能,如字节数组操作。 )5) trans.view:负责软件接口结构的布局和用户输入响应。 1.2密钥模块实现(1) trans.cipher.Asym Encryptor负责实现非对称解密功能,主要方法描述:1 encrypt/decrypt/sign/authenticate,byte 2get Pubkey/get Privkey,从密钥获取密钥。 )2) trans.cipher.Sym Encryptor负责对称解密功能的实现。 )3) trans.thread.connection thread.run是连接线程的具体实现,既负责响应用户的输入事件,也负责从套接字读取数据。 )4) trans.control.main control.do sendfile主要通过套接字传输文件,传输时对文件进行适当的加密操作。 的签名发送与此类似,不再重复。 ) Trans.util.Byte Array Util通过在字节流之前放置特定标识符来区分文件和常规消息,以实现基于套接字的文件传输。 但是,实现这样的设计,前提是在字节数组中添加灵活的前缀、检索子串等操作。 因此,实现了Byte Array Util类来支持这种功能。 该类方法中值得一提的是字节数组中子序列搜索的算法,为了提高效率,这里使用了KMP匹配算法。 1.3使用eclipse打包工具将程序打包为可执行程序的JAR文件。 安装1.6版或更高版本的java虚拟机,然后双击sec.jar运行该程序。 2主要使用方法主要包括用户登录和连接建立、加密方式设置、消息或文件传输、解密方式设置、消息或文件解密、RSA密钥管理、RSA签名认证等环节。 图2登录角色2.1用户登录和建立连接(1)输入用户名,登录并选择角色(服务端或客户端)。 )2)服务端指定监听端口进行监听。 客户端指定服务端的IP地址

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。