安装Wordpress的免费空间网站优化和提升网站排名怎么做

news/2025/9/22 21:41:31/文章来源:
安装Wordpress的免费空间,网站优化和提升网站排名怎么做,网站建设服务商是什么,莞城区网站仿做文章目录 Pre概述什么是非对称加密算法#xff1f;如何工作#xff1f;示例#xff1a;RSA算法特点和优势ECC#xff1a;另一种非对称加密算法 Code生成公钥和私钥私钥加密私钥加密私钥解密 ( 行不通 )私钥加密公钥解密公钥加密和公钥解密 #xff08;行不通#xff09;保… 文章目录 Pre概述什么是非对称加密算法如何工作示例RSA算法特点和优势ECC另一种非对称加密算法 Code生成公钥和私钥私钥加密私钥加密私钥解密 ( 行不通 )私钥加密公钥解密公钥加密和公钥解密 行不通保存公钥和私钥读取私钥读取公钥使用读取的公钥加密私钥解密 Source Pre 加密与安全_探索非对称加密算法_RSA算法 概述 在数字化时代网络通信的安全性是必须关注的重要问题之一。非对称加密算法作为现代密码学的重要组成部分为保护通信的隐私提供了一种可靠的解决方案。 什么是非对称加密算法 非对称加密算法又称为公钥加密算法是一种密码学中的重要概念。它与传统的对称加密算法不同需要一对密钥公钥和私钥。这对密钥之间存在着特殊的数学关系但无法通过公钥推导出私钥从而保证了通信的安全性。 如何工作 当发送方A希望将数据发送给接收方B时A可以使用B的公钥对数据进行加密得到密文。只有拥有对应私钥的B才能解密这个密文。同样地B也可以使用A的公钥加密数据只有A持有私钥才能解密。这种加密和解密使用不同的密钥的特点使得非对称加密算法成为了保护通信隐私的重要工具。 示例RSA算法 RSA算法是非对称加密算法中最常见的一种它利用了大数分解的数学难题保证了通信的安全性。在RSA算法中公钥是公开的私钥是保密的。发送方使用接收方的公钥对数据进行加密而接收方使用自己的私钥进行解密从而实现了安全的通信。 特点和优势 加密和解密使用不同的密钥提高了通信的安全性。如果使用私钥加密只能使用公钥解密反之亦然。非对称加密算法安全性高但处理数据速度较慢。 ECC另一种非对称加密算法 除了RSA算法还有一种备受关注的非对称加密算法即椭圆曲线密码学ECC。ECC利用了椭圆曲线上的数学难题相比RSA算法它能够以更短的密钥长度实现相当于甚至更高的安全级别同时在资源受限的环境下拥有更好的性能表现。 Code 生成公钥和私钥 package com.artisan;import com.sun.org.apache.xml.internal.security.utils.Base64;import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey;/*** author 小工匠* version 1.0 */ public class RsaKeyPair {public static void main(String[] args) throws Exception {// 指定加密算法为RSAString algorithm RSA;// 创建密钥对生成器对象KeyPairGenerator keyPairGenerator KeyPairGenerator.getInstance(algorithm);// 生成RSA密钥对KeyPair keyPair keyPairGenerator.generateKeyPair();// 获取生成的私钥PrivateKey privateKey keyPair.getPrivate();// 获取生成的公钥PublicKey publicKey keyPair.getPublic();// 获取私钥的编码字节数组byte[] privateKeyEncoded privateKey.getEncoded();// 获取公钥的编码字节数组byte[] publicKeyEncoded publicKey.getEncoded();// 对公私钥的编码字节数组进行Base64编码String privateKeyString Base64.encode(privateKeyEncoded);String publicKeyString Base64.encode(publicKeyEncoded);// 打印私钥的Base64编码字符串System.out.println(privateKeyString);System.out.println(----------------------------------);// 打印公钥的Base64编码字符串System.out.println(publicKeyString);} } 使用RSA算法生成一个密钥对并将私钥和公钥进行Base64编码后打印出来了。 私钥加密 package com.artisan;import com.sun.org.apache.xml.internal.security.utils.Base64;import javax.crypto.Cipher; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey;/*** author 小工匠* version 1.0* mark: 显示代码改变世界*/ public class PrivateKeyEnc {public static void main(String[] args) throws Exception {String input 小工匠的IT生活;// 指定加密算法为RSAString algorithm RSA;// 创建密钥对生成器对象KeyPairGenerator keyPairGenerator KeyPairGenerator.getInstance(algorithm);// 生成RSA密钥对KeyPair keyPair keyPairGenerator.generateKeyPair();// 获取生成的私钥PrivateKey privateKey keyPair.getPrivate();// 获取生成的公钥PublicKey publicKey keyPair.getPublic();// 获取私钥的编码字节数组byte[] privateKeyEncoded privateKey.getEncoded();// 获取公钥的编码字节数组byte[] publicKeyEncoded publicKey.getEncoded();// 对公私钥的编码字节数组进行Base64编码String privateKeyString Base64.encode(privateKeyEncoded);String publicKeyString Base64.encode(publicKeyEncoded);// 打印生成的密钥对System.out.println(私钥(Base64编码): privateKeyString);System.out.println(公钥(Base64编码): publicKeyString);// 创建加密对象参数表示加密算法Cipher cipher Cipher.getInstance(algorithm);// 初始化加密对象// 第一个参数加密模式// 第二个参数使用私钥进行加密cipher.init(Cipher.ENCRYPT_MODE, privateKey);// 使用私钥加密输入的字符串byte[] encryptedBytes cipher.doFinal(input.getBytes());// 对加密后的字节数组进行Base64编码并打印System.out.println(加密后的字符串(Base64编码): Base64.encode(encryptedBytes));} } 私钥加密私钥解密 ( 行不通 ) 在上面的代码上追加 // 私钥进行解密 (错误的演示) cipher.init(Cipher.DECRYPT_MODE,privateKey);// 对密文进行解密不需要使用base64因为原文不会乱码byte[] bytes1 cipher.doFinal(encryptedBytes);System.out.println(new String(bytes1));私钥加密公钥解密 将上述代码的 私钥解密换成使用公钥解密 // 公钥进行解密 cipher.init(Cipher.DECRYPT_MODE,publicKey); // 对密文进行解密不需要使用base64因为原文不会乱码 byte[] bytes1 cipher.doFinal(encryptedBytes); System.out.println(解密后的字符串: new String(bytes1));公钥加密和公钥解密 行不通 保存公钥和私钥 生成RSA非对称加密算法的密钥对并将生成的公钥和私钥保存在本地文件中。 package com.artisan;import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; import org.apache.commons.io.FileUtils;import java.io.File; import java.nio.charset.Charset; import java.security.*;public class KeyPairOperate {public static void main(String[] args) throws Exception {// 加密算法String algorithm RSA;// 生成密钥对并保存在本地文件中generateKeyToFile(algorithm, a.pub, a.pri);}/*** 生成密钥对并保存在本地文件中** param algorithm : 算法* param pubPath : 公钥保存路径* param priPath : 私钥保存路径* throws Exception*/private static void generateKeyToFile(String algorithm, String pubPath, String priPath) throws Exception {// 获取密钥对生成器KeyPairGenerator keyPairGenerator KeyPairGenerator.getInstance(algorithm);// 获取密钥对KeyPair keyPair keyPairGenerator.generateKeyPair();// 获取公钥PublicKey publicKey keyPair.getPublic();// 获取私钥PrivateKey privateKey keyPair.getPrivate();// 获取byte数组byte[] publicKeyEncoded publicKey.getEncoded();byte[] privateKeyEncoded privateKey.getEncoded();// 进行Base64编码String publicKeyString Base64.encode(publicKeyEncoded);String privateKeyString Base64.encode(privateKeyEncoded);// 保存文件FileUtils.writeStringToFile(new File(pubPath), publicKeyString, Charset.forName(UTF-8));FileUtils.writeStringToFile(new File(priPath), privateKeyString, Charset.forName(UTF-8));} }读取私钥 // 读取私钥 PrivateKey privateKey readPrivateKeyFromFile(algorithm, a.pri);byte[] encoded privateKey.getEncoded();String privateContent Base64.encode(encoded);System.out.println(私钥内容: privateContent);/*** param algorithm* param filePath* return* throws Exception*/private static PrivateKey readPrivateKeyFromFile(String algorithm, String filePath) throws Exception {// 从文件中读取私钥字符串String privateKeyString FileUtils.readFileToString(new File(filePath), StandardCharsets.UTF_8);// 进行Base64解码byte[] privateKeyEncoded Base64.decode(privateKeyString);// 获取密钥工厂KeyFactory keyFactory KeyFactory.getInstance(algorithm);// 构建密钥规范 进行Base64解码PKCS8EncodedKeySpec spec new PKCS8EncodedKeySpec(Base64.decode(privateKeyString));return keyFactory.generatePrivate(spec);}看下生成的文件中的内容 读取公钥 // 读取公钥 PublicKey publicKey readPublicKeyFromFile(algorithm, a.pub);byte[] publicKeyEncoded publicKey.getEncoded(); String publicContent Base64.encode(publicKeyEncoded); System.out.println(公钥内容: publicContent);/*** param algorithm* param filePath* return* throws Exception*/private static PublicKey readPublicKeyFromFile(String algorithm, String filePath) throws Exception {// 将文件内容转为字符串String publicKeyString FileUtils.readFileToString(new File(filePath), StandardCharsets.UTF_8);// 获取密钥工厂KeyFactory keyFactory KeyFactory.getInstance(algorithm);// 构建密钥规范 进行Base64解码X509EncodedKeySpec spec new X509EncodedKeySpec(Base64.decode(publicKeyString));// 生成公钥return keyFactory.generatePublic(spec);}使用读取的公钥加密私钥解密 // 使用公钥私钥实现加解密 String text 小工匠的IT生活; System.out.println(原文: text);String enc encryptRSA(algorithm, publicKey, text); System.out.println(公钥加密后的数据: enc);String plainText decryptRSA(algorithm, privateKey, enc); System.out.println(私钥解密后的数据: plainText);/*** 解密数据** param algorithm : 算法* param encrypted : 密文* param key : 密钥* return : 原文* throws Exception*/public static String decryptRSA(String algorithm, Key key, String encrypted) throws Exception {// 创建加密对象// 参数表示加密算法Cipher cipher Cipher.getInstance(algorithm);// 私钥进行解密cipher.init(Cipher.DECRYPT_MODE, key);// 由于密文进行了Base64编码, 在这里需要进行解码byte[] decode Base64.decode(encrypted);// 对密文进行解密不需要使用base64因为原文不会乱码byte[] bytes1 cipher.doFinal(decode);return new String(bytes1);}/*** 使用密钥加密数据** param algorithm : 算法* param input : 原文* param key : 密钥* return : 密文* throws Exception*/public static String encryptRSA(String algorithm, Key key, String input) throws Exception {// 创建加密对象// 参数表示加密算法Cipher cipher Cipher.getInstance(algorithm);// 初始化加密// 第一个参数:加密的模式// 第二个参数使用私钥进行加密cipher.init(Cipher.ENCRYPT_MODE, key);// 私钥加密byte[] bytes cipher.doFinal(input.getBytes());// 对密文进行Base64编码return Base64.encode(bytes);}Source package com.artisan;import com.sun.org.apache.xml.internal.security.utils.Base64; import org.apache.commons.io.FileUtils;import javax.crypto.Cipher; import java.io.File; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec;/*** author 小工匠* version 1.0* mark: show me the code , change the world*/ public class KeyPairOperate {public static void main(String[] args) throws Exception {// 加密算法String algorithm RSA;// 生成密钥对并保存在本地文件中generateKeyToFile(algorithm, a.pub, a.pri);// 读取私钥PrivateKey privateKey readPrivateKeyFromFile(algorithm, a.pri);byte[] encoded privateKey.getEncoded();String privateContent Base64.encode(encoded);System.out.println(私钥内容: privateContent);// 读取公钥PublicKey publicKey readPublicKeyFromFile(algorithm, a.pub);byte[] publicKeyEncoded publicKey.getEncoded();String publicContent Base64.encode(publicKeyEncoded);System.out.println(公钥内容: publicContent);// 使用公钥私钥实现加解密String text 小工匠的IT生活;System.out.println(原文: text);String enc encryptRSA(algorithm, publicKey, text);System.out.println(公钥加密后的数据: enc);String plainText decryptRSA(algorithm, privateKey, enc);System.out.println(私钥解密后的数据: plainText);}/*** 解密数据** param algorithm : 算法* param encrypted : 密文* param key : 密钥* return : 原文* throws Exception*/public static String decryptRSA(String algorithm, Key key, String encrypted) throws Exception {// 创建加密对象// 参数表示加密算法Cipher cipher Cipher.getInstance(algorithm);// 私钥进行解密cipher.init(Cipher.DECRYPT_MODE, key);// 由于密文进行了Base64编码, 在这里需要进行解码byte[] decode Base64.decode(encrypted);// 对密文进行解密不需要使用base64因为原文不会乱码byte[] bytes1 cipher.doFinal(decode);return new String(bytes1);}/*** 使用密钥加密数据** param algorithm : 算法* param input : 原文* param key : 密钥* return : 密文* throws Exception*/public static String encryptRSA(String algorithm, Key key, String input) throws Exception {// 创建加密对象// 参数表示加密算法Cipher cipher Cipher.getInstance(algorithm);// 初始化加密// 第一个参数:加密的模式// 第二个参数使用私钥进行加密cipher.init(Cipher.ENCRYPT_MODE, key);// 私钥加密byte[] bytes cipher.doFinal(input.getBytes());// 对密文进行Base64编码return Base64.encode(bytes);}/*** param algorithm* param filePath* return* throws Exception*/private static PublicKey readPublicKeyFromFile(String algorithm, String filePath) throws Exception {// 将文件内容转为字符串String publicKeyString FileUtils.readFileToString(new File(filePath), StandardCharsets.UTF_8);// 获取密钥工厂KeyFactory keyFactory KeyFactory.getInstance(algorithm);// 构建密钥规范 进行Base64解码X509EncodedKeySpec spec new X509EncodedKeySpec(Base64.decode(publicKeyString));// 生成公钥return keyFactory.generatePublic(spec);}/*** param algorithm* param filePath* return* throws Exception*/private static PrivateKey readPrivateKeyFromFile(String algorithm, String filePath) throws Exception {// 从文件中读取私钥字符串String privateKeyString FileUtils.readFileToString(new File(filePath), StandardCharsets.UTF_8);// 进行Base64解码byte[] privateKeyEncoded Base64.decode(privateKeyString);// 获取密钥工厂KeyFactory keyFactory KeyFactory.getInstance(algorithm);// 构建密钥规范 进行Base64解码PKCS8EncodedKeySpec spec new PKCS8EncodedKeySpec(Base64.decode(privateKeyString));return keyFactory.generatePrivate(spec);}/*** 生成密钥对并保存在本地文件中** param algorithm : 算法* param pubPath : 公钥保存路径* param priPath : 私钥保存路径* throws Exception*/private static void generateKeyToFile(String algorithm, String pubPath, String priPath) throws Exception {// 获取密钥对生成器KeyPairGenerator keyPairGenerator KeyPairGenerator.getInstance(algorithm);// 获取密钥对KeyPair keyPair keyPairGenerator.generateKeyPair();// 获取公钥PublicKey publicKey keyPair.getPublic();// 获取私钥PrivateKey privateKey keyPair.getPrivate();// 获取byte数组byte[] publicKeyEncoded publicKey.getEncoded();byte[] privateKeyEncoded privateKey.getEncoded();// 进行Base64编码String publicKeyString Base64.encode(publicKeyEncoded);String privateKeyString Base64.encode(privateKeyEncoded);// 保存文件FileUtils.writeStringToFile(new File(pubPath), publicKeyString, Charset.forName(UTF-8));FileUtils.writeStringToFile(new File(priPath), privateKeyString, Charset.forName(UTF-8));} }

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

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

相关文章

衡阳县做淘宝网站建设网站托管服务协议

1.什么是RabbitMQ RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等&…

网站百度v认证网站栏目结构

链接:http://www.2cto.com/database/201207/139330.html转载于:https://www.cnblogs.com/nycj/p/5661151.html

.NET周刊【9月第1期 2025-09-07】

国内文章 关于.net9发布单体exe程序无法打开问题详解 https://www.cnblogs.com/sc-Free-Die/p/19075260 该文章探讨了使用.NET 9开发的Winform程序在发布为x64单文件exe后出现的异常。文章描述了在不同架构下(x64与x86…

第七章 Cesium 3D 粒子烟花效果案例解析:从原理到完整代码 - 详解

第七章 Cesium 3D 粒子烟花效果案例解析:从原理到完整代码 - 详解2025-09-22 21:37 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

郑州专业网站制作的公司哪家好最大的免费网站建设

今年5月,Facebook AI研究院(FAIR)发表了他们的研究成果fairseq,在fairseq中,他们使用了一种新型的卷积神经网络来做语言翻译,比循环神经网络的速度快了9倍,而且准确性也是现有模型中最高的。此外…

SUDO提权

今天在NSS上刷题,写这道sudo提权时发现一个大佬wp质量很高,跟着思路记录一下,顺便向大佬致敬。Sudo 提权 向大佬致敬,太厉害了,四个月全勤,估计是写完题顺带写了wp[HZNUCTF 2023 final]ezgo 解题思路 Please POS…

2025.9.19 总结

这一场太逆天了,全靠部分分拿长郡榜二。 T1 逆序对这个东西很好搞,你只需要从前往后加就行了,然后你发现一个数只会和他最前面比它大的数产生贡献。 因为他前面比他大的数前面可能会有比它还大的,但是这样显然这个…

可以上传自己做的视频的网站吗网站建设公司星海网络

[TOC]为什么要有相对跳转和绝对跳转?顺序执行:指令一条一条按照顺序往下执行,比如变量的定义和赋值都是按照顺序执行的。跳转执行:当指令执行到当前位置后跳转到其他位置执行。比如,在主函数中调用其他函数就是典型的跳…

南京哪个网站做物业贷vue.js做静态网站

🏆作者:科技、互联网行业优质创作者 🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 🏆欢迎关注我(Net数字智慧化基地),里面…

国外儿童社区网站模板网站建设的费用

演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、AI技术创业在线辅导业务有哪些机会? 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随着…

东莞网站建设做网站dw可以做视频网站么

原文地址:http://www.goodfav.com/zh/app-development-tutorials-3559.html 移动应用程序开发是大企业和创意的个人和小团队开发,是一个有很多商业机会的领域之一。它可能需要多次尝试设计来实施一个出类拔萃的应用程序,但是,如果…

自媒体图片素材网站系统开发过程

我试图从Mathematica中获取一张图片.我尝试评估一些使用包中的方法生成图形的Mathematica代码.如果我将代码粘贴到Mathematica Notebook,则会正确生成图形.所以我的问题:如何将这些图形转换为Java ???这是我的示例代码:ml MathLinkFactory.createKer…

阿里云做的网站怎么样宁波网站建设公司哪里有

在Vue中,防抖和节流是两种常用的优化技术,用于限制事件的触发频率,以提高页面性能。 防抖(Debounce)是指在事件被触发后,等待一段时间后再执行回调函数。如果在这段等待时间内,事件又被触发&am…

建立一个网站大约要多少钱个人工作室和公司区别

前言 在上一篇文章中我们介绍了在计算机底层视角下的虚拟内存和操作系统在用户层所进行的各个分层,在这篇文章我们就要开始尝试书写多线程代码了,其实在c11后c就提供供了线程类给我们使用,c线程类其实主要是对c操作多线程的函数进行了封装,本质上其实是…

详细介绍:无公网 IP 访问群晖 NAS:神卓 N600 的安全解决方案(附其他方法风险对比)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站开发与设计结课大作业汽车可以做哪些广告视频网站

一、命名空间概念1、命名空间(name space)名称空间是存放名字的地方。若变量x1,1存放在内存中,命名空间是存放名字x、x与1绑定关系的地方。2、名称空间加载顺序python test.py#1、python解释器先启动,因而首先加载的是:内置名称空…

2025.9.18 总结

T1 就是有一个 dp 是 f i 0/1 0/1 表示有 i 个数,异或和是不是 0,异或和是不是等于最后一个数,然后矩阵加速就没了。 T2 会发现这个东西你可以贪心维护,每次能阔就阔不能阔就退出。然后判一下相邻两个颜色块之间的…

越南文识别技术:将纸质文档和信息快速、准确地转化为可编辑、可检索的数字数据

在数字化浪潮席卷全球的今天,如何将海量的纸质文档和信息快速、准确地转化为可编辑、可检索的数字数据,已成为一项关键挑战。光学字符识别(OCR)技术正是解决这一挑战的核心。作为OCR技术的一个重要分支,越南文识别…

#JAVA作业

1、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗? 答:用static修饰的方法多为工具类方法、工厂方法等不依赖对象状态的方法;不用static修饰的是实例方…

C#编程练习:使用队列存储消息,一次性存10条消息,每隔一段时间打印一条消息控制台打印消息时要有明显停顿感 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …