怎样做网站的当前位置栏关于建设网站的报告书

news/2025/9/28 5:17:06/文章来源:
怎样做网站的当前位置栏,关于建设网站的报告书,西宁做网站_君博先进,做图素材网站哪个好Java加密的常用的加密算法类型有三种 1单向加密#xff1a; 也就是不可逆的加密#xff0c;例如MD5,SHA,HMAC 2对称加密#xff1a; 也就是加密方和解密方利用同一个秘钥对数据进行加密和解密#xff0c;例如DES#xff0c;PBE等等 3非对称加密#xff1a; 非对称加…Java加密的常用的加密算法类型有三种 1单向加密 也就是不可逆的加密例如MD5,SHA,HMAC 2对称加密 也就是加密方和解密方利用同一个秘钥对数据进行加密和解密例如DESPBE等等 3非对称加密 非对称加密分为公钥和秘钥二者是非对称的例如用私钥加密的内容需要使用公钥来解密使用公钥加密的内容需要用私钥来解密DSARSA… 而keyGenerator,KeyPairGenerator,SecretKeyFactory的三种使用方法刚好和这三种加密算法类型对上 keyGenerator 秘钥生成器也就是更具算法类型随机生成一个秘钥例如HMAC所以这个大部分用在非可逆的算法中。 SecretKeyFactory 秘密秘钥工厂言外之意就是需要根据一个秘密password去生成一个秘钥,例如DESPBE所以大部分使用在对称加密中。 KeyPairGenerator: 秘钥对生成器也就是可以生成一对秘钥也就是公钥和私钥所以大部分使用在非对称加密中。 下面主要介绍一下KeyPairGenerator KeyPairGenerator类 KeyPairGenerator 类用于生成公钥和私钥对。密钥对生成器是使用 getInstance 工厂方法返回一个给定类的实例的静态方法构造的。 特定算法的密钥对生成器可以创建能够与此算法一起使用的公钥/私钥对。它还可以将特定于算法的参数与每个生成的密钥关联。 有两种生成密钥对的方式与算法无关的方式和特定于算法的方式。两种方式的唯一区别在于对象的初始化 与算法无关的初始化 所有的密钥对生成器遵循密钥大小和随机源的概念。对于不同的算法密钥大小的解释也不相同例如对于 DSA 算法密钥大小对应于模的长度。此 KeyPairGenerator 类有一个 initialize 方法该方法带有两个通用的共享类型的参数。还有一个只带有 keysize 参数的方法它使用以最高优先级安装的提供者的 SecureRandom 实现作为随机源。如果任何安装的提供者都不提供 SecureRandom 的实现则使用系统提供的随机源。 因为调用上述与算法无关的 initialize 方法时没有指定其他参数所以由提供者决定如何处理与每个密钥关联的特定于算法的参数如果有。 如果算法为 DSA 算法密钥大小模大小为 512、768 或 1024那么 Sun 提供者对 p、q 和 g 参数使用一组预计算值。如果模大小不是上述值之一则 Sun 提供者创建一个新的参数集合。其他提供者可能具有供更多模大小不仅仅是上文提及的那三个使用的预计算参数集合。其他提供者也可能没有任何预计算参数列表而总是创建新的参数集合。 特定于算法的初始化 对于特定于算法的参数集合已存在的情况例如DSA 中所谓的公用参数有两个 initialize 方法具有 AlgorithmParameterSpec 参数。其中一个方法还有一个 SecureRandom 参数而另一个方法使用以最高优先级安装的提供者的 SecureRandom 实现作为随机源。如果任何安装的提供者都不提供 SecureRandom 的实现则使用系统提供的随机源。 每个提供者都必须提供并记录默认的初始化以防客户端没有显式初始化 KeyPairGenerator通过调用 initialize 方法。例如Sun 提供者使用 1024 位的默认模大小密钥大小。 注意由于历史原因此类是抽象类是从 KeyPairGeneratorSpi 扩展的。应用程序开发人员只需注意在此 KeyPairGenerator 类中定义的方法超类中的所有方法是供加密服务提供者使用的这些加密服务提供者希望提供自己的密钥对生成器实现。 Java提供的KeyPairGenerator类。 用于生成公钥和私钥对。 要使用KeyPairGenerator类生成密钥按照以下步骤操作。 第1步创建KeyPairGenerator对象 KeyPairGenerator类提供getInstance()方法该方法接受表示所需密钥生成算法的String变量并返回生成密钥的KeyPairGenerator对象。 使用getInstance()方法创建KeyPairGenerator对象如下所示。 //Creating KeyPair generator object KeyPairGenerator keyPairGen KeyPairGenerator.getInstance(DSA);第2步初始化KeyPairGenerator对象 KeyPairGenerator类提供了一个名为initialize()的方法该方法用于初始化密钥对生成器。 此方法接受表示密钥大小的整数值。 使用此方法初始化在上一步中创建的KeyPairGenerator对象如下所示。 //Creating KeyPair generator object KeyPairGenerator keyPairGen KeyPairGenerator.getInstance(DSA); //Initializing the KeyPairGenerator keyPairGen.initialize(2048);第3步生成KeyPairGenerator 可以使用KeyPairGenerator类的generateKeyPair()方法生成KeyPair。 使用此方法生成密钥对如下所示。 //Generate the pair of keys KeyPair pair keyPairGen.generateKeyPair();第4步获取私钥/公钥 可以使用getPrivate()方法从生成的密钥对对象中获取私钥如下所示。 //Getting the private key from the key pair PrivateKey privKey pair.getPrivate();可以使用getPublic()方法从生成的KeyPair对象获取公钥如下所示。 //Getting the public key from the key pair PublicKey publicKey pair.getPublic(); Java示例 下面的示例演示了使用javax.crypto包的KeyPairGenerator类生成密钥的密钥。 import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey;public class KeyPairGenertor {public static void main(String args[]) throws Exception{//Creating KeyPair generator objectKeyPairGenerator keyPairGen KeyPairGenerator.getInstance(DSA);//Initializing the KeyPairGeneratorkeyPairGen.initialize(2048);//Generating the pair of keysKeyPair pair keyPairGen.generateKeyPair();//Getting the private key from the key pairPrivateKey privKey pair.getPrivate(); //Getting the public key from the key pairPublicKey publicKey pair.getPublic(); System.out.println(Keys generated);} }执行上面示例代码得到下结果 Keys generated获取公钥接口 KeyPairGenerator keyPairGen KeyPairGenerator.getInstance(RSA); keyPairGen.initialize(512); KeyPair key keyPairGen.generateKeyPair(); Base64.Encoder encoder Base64.getEncoder(); Map.EntryString, String keyPair new AbstractMap.SimpleEntry(encoder.encodeToString(key.getPublic().getEncoded()),encoder.encodeToString(key.getPrivate().getEncoded())); temporaryCodeDAO.cache(keyPair.getKey(), keyPair.getValue(), 100, TimeUnit.SECONDS);//缓存到Redis return ResponseResult.data(keyPair.getKey());

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

珠海网站设计培训班济南网络seo公司

FID 在互联网高速发展的时代,用户体验已成为企业竞争的关键所在。网页性能作为用户体验的重要组成部分,直接影响着用户的满意度和工作效率。First Input Delay(FID)作为衡量网页性能的重要指标,越来越受到业界关注。今…

wordpress站内seofreenom怎么做网站

随着科技的进步,如今我们可以通过屏幕录制软件来记录我们的电脑屏幕活动。无论是为了分享游戏精彩瞬间,还是为了制作教程或演示,录屏都成为了许多人的需求。可是你知道怎样录屏才是最好的吗?接下来,本文将为您介绍三种…

做减肥餐的网站wordpress可选模式主题

运行的时候提示无法查找或打开PDB文件 解决办法(注意:必须使用管理员身份运行VS) 第一步 打开调试窗口的选项 第二步 调试——>常规——>勾选启用源服务器支持 它会弹出警告窗口,点“是”即可 第三步 调试——>符号——…

吴中公司网站建设找哪家html5网站怎么做

程序所属分类:图形图像处理开发工具:matlab文件大小:7964KB下载次数:29上传日期:2017-07-21 11:48:16上 传 者:long1219说明: PIVlab - 时间分辨粒子图像测速(PIV)工具:一种基于GUI…

张家港外贸网站制作山东省住房和城乡建设厅职称评审

Kubernetes项目在过去几年中发展迅速,并且作为容器编排和管理解决方案的领导者而备受尊重。有了这个地位,Kubernetes开发者有责任提供经过充分测试,易于维护,高性能和可扩展的API和工具。在即将到来的每个发布周期中,大…

深圳做网站网络公司有哪些做的网站 只显示代码

一、python中的变量及引用1.1 python中的不可变类型&#xff1a;数字(num)、字符串(str)、元组(tuple)、布尔值(bool<True,False>) 接下来我们讲完后你就懂了为什么它们是不可变对象了。 都知道python中一切都是对象&#xff0c;而变量就是这些对象的引用&#xff0c;什么…

建设商务网站过程vscode的网站开发配置

这次使用sublimepython进行pygame的游戏开发&#xff0c;目的是学习使用python的基本操作和常用模块 添加一个文件夹到工程 最小系统 1.导入使用的模块 2.初始化&#xff1a;pygame.init函数包含了各个子模块的初始化&#xff0c;可以重复调用 3.pygame.display.set_mode返…

山东省住房建设厅网站首页重庆做网站建设哪里好

目录 一、行为型模式 1.1、模板方法模式 1.1.1、概念 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、行为型模式 一句话概括行为型模式 行为型模式&#xff1a;类或对象间如何交互、如何划分职责&#xff0c;从而更好的完成任务. 1.1、模板方法模式 1.1.1、概念 …

鲜花商城网站建设连锁网站开发

最近看抖音上有很多各种视频表白生成的直播而且直播间人很多&#xff0c;于是就思考如何实现的视频内的文字图片内容替换的呢 &#xff0c;答案需要用到类似与逗拍一样的视频DIY的功能&#xff0c;苦于我是java&#xff0c;百度了半天没有办法和思路&#xff0c;总不能为了一个…

做网站要买什么丰台网站建设是什么

目录 一、算法的基本概念 输入 输出 确定性 有限性 有效性 二、常见算法类型 1. 排序算法 选择排序&#xff08;Selection Sort&#xff09; 插入排序&#xff08;Insertion Sort&#xff09; 快速排序&#xff08;Quick Sort&#xff09; 归并排序&#xff08;Mer…

7个优秀网站设计赏析wordpress rss修改

目录 ​编辑 第&#xff11;0 章 文件和异常 10.1 从文件中读取数据 10.1.1 读取整个文件 pi_digits.txt file_reader.py 10.1.2 文件路径 10.1.3 逐行读取 file_reader.py 10.1.4 创建一个包含文件各行内容的列表 10.1.5 使用文件的内容 pi_string.py 往期快速传…

soso搜搜网站收录提交入口怎么做一个网站app吗

简介 MessageSource 是 Spring 框架中的一个接口&#xff0c;它负责提供对国际化&#xff08;i18n&#xff09;和本地化&#xff08;l10n&#xff09;消息的支持。MessageSource 接口定义了一组方法&#xff0c;允许应用程序根据指定的消息代码和参数来获取本地化的消息字符串…

西安网站建设网站代客做网站

电源电压 文章目录 电源电压1、概述1.1 交流发电机1.2 电池1.3 理想电压源1.4 实际电压源1.5 连接规则 2、相关源2.1 压控电压源 (VCVS)2.2 电流控制电压源 (CCVS) 3、总结 在本文中&#xff0c;我们详细介绍了称为电源电压的重要电子元件的架构、功能和使用。 我们首先提出理想…

学网站开发如何挣钱战队logo设计在线生成

引言这篇文章是我各处收集有关于http的知识&#xff0c;不成体系&#xff0c;爱看不看?&#xff0c;看完点赞。我们输入网址之后发生的事情输入网址并回车(URL 包括 协议名称 域名或者IP 端口号 请求资源具体地址 参数)解析域名 DNS解析浏览器发送HTTP请求服务器处理请求服务器…

黄页推广网站姑苏美食标题网页设计素材

在C#中&#xff0c;与数据库进行交互是常见的任务&#xff0c;尤其是在.NET环境中。你可以使用ADO.NET&#xff0c;Entity Framework或Dapper等框架来实现与数据库的交互。以下是一个简单的例子&#xff0c;展示如何使用ADO.NET来从数据库中获取数据并绑定到Windows Forms应用程…

网站开发那种语言好wordpress调用分类和文章

可以看到&#xff0c;在原始数据长度为16的整数倍时&#xff0c;假如原始数据长度等于16*n&#xff0c;则使用NoPadding时加密后数据长度等于16*n&#xff0c;其它情况下加密数据长度等于16*(n1)。在不足16的整数倍的情况下&#xff0c;假如原始数据长度等于16*nm[其中m小于16]…

做建设网站的活的兼职百度推广竞价开户

文章目录 一、初识 Spring1.1 什么是 Spring1.2 什么是 容器1.3 什么是 IoC 二、对 IoC 的深入理解2.1 传统程序开发方式存在的问题2.2 控制反转式程序的开发2.3 对比总结 三、对 Spring IoC 的理解四、DI 的概念4.1 什么是 DI4.2 DI 与 IoC的关系 一、初识 Spring 1.1 什么是…

最新73种暴利产品竞价单页网站制作带订单后台系统模板access2003做网站

和前面的字符串逆向输出有异曲同工之妙 第一位和最后一位交换位置&#xff0c;然后用比大小循环 那么接下来修改一下这个程序&#xff0c;我们接下来解释一下p的概念 画图解释&#xff1a; 在最前面的 定义的时候&#xff0c;我们将p&#xff08;0&#xff09;定义在了1上&…

网站开启gzip广州市网站建设分站价格

卸载一切到网卡&#xff0c;解放 cpu&#xff0c;兜售自己的设想&#xff1a;功能越来越多&#xff0c;吞吐越来越大的网卡。万物皆关联&#xff0c;吞吐越大的网卡反而更闯祸。范雅各布森的大历史视野不是每个工程师都具备的&#xff0c;更何况经理们。 事实是&#xff0c;网…