JavaScript—— 常见网页特效

article/2025/10/11 2:30:18

目录

  • 一、常见网页特效
  • 1. 案例:网页轮播图
    • 1.1 案例分析
      • 1.1.1 左右按钮的显示与隐藏
      • 1.1.2 动态生成小圆圈
      • 1.1.3 小圆圈的排他思想
      • 1.1.4 点击小圆圈滚动图片
      • 1.1.5 点击右侧按钮一次,就让图片滚动一张
      • 1.1.6 克隆第一张图片
      • 1.1.7 点击右侧按钮,小圆圈跟随变化
      • 小bug
      • 1.1.8 左侧按钮功能实现
      • 1.1.9 自动播放功能
    • 1.2 节流阀
    • 1.3 代码展示
      • html
      • css
      • js
      • animate.js
  • 2. 案例:返回顶部
    • js
  • 3. 案例:筋斗云
    • 3.1 案例分析
    • 3.2 代码实现


一、常见网页特效

1. 案例:网页轮播图

轮播图也称为焦点图,是网页中比较常见的网页特效。
功能需求:

  1. 鼠标经过轮播图模块,左右按钮显示,离开隐藏左右按钮。
  2. 点击右侧按钮一次,图片往左播放一张,以此类推,左侧按钮同理。
  3. 图片播放的同时,下面小圆圈模块跟随一起变化。
  4. 点击小圆圈,可以播放相应图片。
  5. 鼠标不经过轮播图,轮播图也会自动播放图片。
  6. 鼠标经过,轮播图模块,自动播放停止。

1.1 案例分析

1.1.1 左右按钮的显示与隐藏

请添加图片描述
在这里插入图片描述

// 等页面所有元素加载完后再执行js
window.addEventListener('load', function () {//this.alert('1');  // 测试// 1. 获取元素var arrow_l = this.document.querySelector('.arrow-l');var arrow_r = this.document.querySelector('.arrow-r');var focus = document.querySelector('.focus');// 2. 鼠标经过focus 就显示隐藏的左右按钮focus.addEventListener('mouseenter', function () {arrow_l.style.display = 'block';arrow_r.style.display = 'block';})// 鼠标离开focus 就隐藏左右按钮focus.addEventListener('mouseleave', function () {arrow_l.style.display = 'none';arrow_r.style.display = 'none';})})

请添加图片描述

1.1.2 动态生成小圆圈

请添加图片描述

// 3. 动态生成小圆圈,有几张图片我们就生成几个小圆圈var ul = focus.querySelector('ul');var ol = focus.querySelector('.circle');// console.log(ul.children.length);   testfor (var i = 0; i < ul.children.length; i++) {// 创建一个小livar li = this.document.createElement('li');// 把小li插入到ol里面ol.appendChild(li);}// 把ol的第一个小li设置类名为 currentol.children[0].className = 'current';

在这里插入图片描述

1.1.3 小圆圈的排他思想

请添加图片描述
排他思想的口诀: 干掉所有人,留下我自己

// 4. 小圆圈的排他思想 我们可以直接生成小圆圈的同时直接绑定点击事件li.addEventListener('click', function () {// 干掉所有人 把所有的小li 清除 current 类名for (var i = 0; i < ol.children.length; i++) {ol.children[i].className = ' ';}// 留下我自己 当前的小li 设置current 类名this.className = 'current';})

把这段代码写到上一段代码的for循环里面

1.1.4 点击小圆圈滚动图片

请添加图片描述

html
在这里插入图片描述
css
在这里插入图片描述
js

for (var i = 0; i < ul.children.length; i++) {// 创建一个小livar li = this.document.createElement('li');//记录当前小圆圈的索引号 通过自定义属性来做li.setAttribute('index', i);// 把小li插入到ol里面ol.appendChild(li);// 4. 小圆圈的排他思想 我们可以直接生成小圆圈的同时直接绑定点击事件li.addEventListener('click', function () {// 干掉所有人 把所有的小li 清除 current 类名for (var i = 0; i < ol.children.length; i++) {ol.children[i].className = ' ';}// 留下我自己 当前的小li 设置current 类名this.className = 'current';// 5. 点击小圆圈,移动图片 当然移动的是 ul// ul 的移动距离 小圆圈的索引号 乘以 图片的宽度 注意是往左走,所以是负值// 当我们点击了某个小li 就拿到当前小li 的索引号var index = this.getAttribute('index');//console.log(index); testvar focusWidth = focus.offsetWidth;//console.log(focusWidth); testanimate(ul, -index * focusWidth);})}

请添加图片描述

1.1.5 点击右侧按钮一次,就让图片滚动一张

请添加图片描述
将href的值 “#” 改写成 “javascript:;” ,使其被点击后不会跳到页面最顶端
在这里插入图片描述
将之前在for循环内部定义的focusWidth提到外面去定义,这样在外面也可以使用了。
在这里插入图片描述
将第一张的图片复制一份放到最后面
在这里插入图片描述

// 6. 点击右侧按钮一次,就让图片滚动一张var num = 0;arrow_r.addEventListener('click', function () {// alert('1'); test// 如果走到了最后复制的一张图片,此时,我们的ul 要快速复原 left 改为 0if (num == ul.children.length - 1) {ul.style.left = 0;num = 0;}num++;animate(ul, -num * focusWidth);})

请添加图片描述

1.1.6 克隆第一张图片

虽然右侧按钮的功能实现了,但我们还有代码改进的空间。
问题1: 我们的小li是直接在结构里面复制了一份,这样动态生成的小圆点也会随之增加。
问题2: 我们不知道里面到底有几张图片,在结构复制一份就写死了,能不能再自动化一些。
请添加图片描述
把之前在HTML文件里复制的第一张图片删掉。

// 6. 克隆第一张图片(li)放到ul 最后面var first = ul.children[0].cloneNode(true);ul.appendChild(first);

把该段代码写到上一段代码的前面。
因为在动态生成小圆圈之后再克隆了一份图片,所以小圆圈不会多一个。

1.1.7 点击右侧按钮,小圆圈跟随变化

请添加图片描述

// 7. 点击右侧按钮一次,就让图片滚动一张var num = 0;// circle 控制小圆圈的播放var circle = 0;arrow_r.addEventListener('click', function () {// alert('1'); test// 如果走到了最后复制的一张图片,此时,我们的ul 要快速复原 left 改为 0if (num == ul.children.length - 1) {ul.style.left = 0;num = 0;}num++;animate(ul, -num * focusWidth);// 8. 点击右侧按钮,小圆圈跟随一起变化,可以再声明一个变量控制小圆圈的播放circle++;// 如果circle == 4 说明走到最后我们克隆的这张图片了 我们就复原为0if (circle == ol.children.length) {circle = 0;}// 先清除其余小圆圈的current类名for (var i = 0; i < ol.children.length; i++) {ol.children[i].className = '';}// 留下当前的小圆圈的current类名ol.children[circle].className = 'current';})

请添加图片描述

小bug

1.当我们点击第三个小圆圈会显示第3张图片,然后点击右侧按钮,图片却显示第2张。这是因为我们播放下一张是由num控制的,而num这一个变量和之前做的点击小圆圈事件没有任何关系,所以它们就出现差异。

// 4. 小圆圈的排他思想 我们可以直接生成小圆圈的同时直接绑定点击事件li.addEventListener('click', function () {// 干掉所有人 把所有的小li 清除 current 类名for (var i = 0; i < ol.children.length; i++) {ol.children[i].className = ' ';}// 留下我自己 当前的小li 设置current 类名this.className = 'current';// 5. 点击小圆圈,移动图片 当然移动的是 ul// ul 的移动距离 小圆圈的索引号 乘以 图片的宽度 注意是往左走,所以是负值// 当我们点击了某个小li 就拿到当前小li 的索引号var index = this.getAttribute('index');//console.log(index); test//当我们点击了某个小li 就要把这个小li 的索引号给 numnum = index;//当我们点击了某个小li 就要把这个小li 的索引号给 circle circle是控制小圆圈自动播放circle = index;animate(ul, -index * focusWidth);})

请添加图片描述

1.1.8 左侧按钮功能实现

// 7. 点击右侧按钮一次,就让图片滚动一张var num = 0;// circle 控制小圆圈的播放var circle = 0;arrow_r.addEventListener('click', function () {// alert('1'); test// 如果走到了最后复制的一张图片,此时,我们的ul 要快速复原 left 改为 0if (num == ul.children.length - 1) {ul.style.left = 0;num = 0;}num++;animate(ul, -num * focusWidth);// 8. 点击右侧按钮,小圆圈跟随一起变化,可以再声明一个变量控制小圆圈的播放circle++;// 如果circle == 4 说明走到最后我们克隆的这张图片了 我们就复原为0// if (circle == ol.children.length) {//     circle = 0;// }// 代码优化 三元表达式circle = circle == ol.children.length ? 0 : circle;// 调用函数circleChange();})// 9. 左侧按钮做法arrow_l.addEventListener('click', function () {// alert('1'); test// 如果走到了最后复制的一张图片,此时,我们的ul 要快速复原 left 改为 0if (num == 0) {num = ul.children.length - 1;// ul向左走为负值ul.style.left = -num * focusWidth + 'px';}num--;animate(ul, -num * focusWidth);// 8. 点击右侧按钮,小圆圈跟随一起变化,可以再声明一个变量控制小圆圈的播放circle--;// // 如果circle < 0 说明第一张图片 则小圆圈要改为第4个小圆圈// if (circle < 0) {//     circle = ol.children.length - 1;// }// 代码优化 三元表达式circle = circle < 0 ? ol.children.length - 1 : circle;// 调用函数circleChange();})// 优化 左右按钮的小圆圈排他思想代码一样 就封装为一个函数,调用函数 减少代码重复量function circleChange() {// 先清除其余小圆圈的current类名for (var i = 0; i < ol.children.length; i++) {ol.children[i].className = '';}// 留下当前的小圆圈的current类名ol.children[circle].className = 'current';}

请添加图片描述

1.1.9 自动播放功能

请添加图片描述

// 10. 自动播放轮播图var timer = setInterval(function () {// 手动调用点击事件arrow_r.click();}, 2000);

鼠标经过 focus 就停止定时器
鼠标离开 focus 就开启定时器
在这里插入图片描述
请添加图片描述

1.2 节流阀

请添加图片描述

// flag 节流阀var flag = true;arrow_r.addEventListener('click', function () {if (flag) {flag = false; // 关闭节流阀// alert('1'); test// 如果走到了最后复制的一张图片,此时,我们的ul 要快速复原 left 改为 0if (num == ul.children.length - 1) {ul.style.left = 0;num = 0;}num++;animate(ul, -num * focusWidth, function () {flag = true; // 打开节流阀});// 8. 点击右侧按钮,小圆圈跟随一起变化,可以再声明一个变量控制小圆圈的播放circle++;// 如果circle == 4 说明走到最后我们克隆的这张图片了 我们就复原为0// if (circle == ol.children.length) {//     circle = 0;// }// 代码优化 三元表达式circle = circle == ol.children.length ? 0 : circle;// 调用函数circleChange();}})

请添加图片描述

1.3 代码展示

html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="index.css"><!-- 这个animate.js 必须写到 index.js的上面引入 --><script src="js/animate.js"></script><script src="js/index.js"></script>
</head><body><div class="focus"><!-- 左侧按钮 --><a href="javascript:;" class="arrow-l">&lt;</a><!-- 右侧按钮 --><a href="javascript:;" class="arrow-r">&gt;</a><!-- 核心的滚动区域 --><ul><li><a href="#"><img src="../images/focus.jpg" alt=""></a></li><li><a href="#"><img src="../images/focus1.jpg" alt=""></a></li><li><a href="#"><img src="../images/focus2.jpg" alt=""></a></li><li><a href="#"><img src="../images/focus3.jpg" alt=""></a></li></ul><!-- 小圆圈 --><ol class="circle"></ol></div>
</body></html>

css

* {margin: 0;padding: 0;
}li {list-style: none;
}a {text-decoration: none;
}.focus {position: relative;width: 721px;height: 455px;background-color: pink;margin: 100px auto;overflow: hidden;
}.focus ul {position: absolute;top: 0;left: 0;/* 使轮播图的使用图片都放到一行上去就需要扩大父盒子的宽度 */width: 600%;
}.focus ul li {float: left;
}.arrow-l,
.arrow-r {display: none;position: absolute;top: 50%;margin-top: -20px;width: 24px;height: 40px;background: rgba(0, 0, 0, .3);text-align: center;line-height: 40px;color: #fff;font-size: 18px;z-index: 2;
}.arrow-r {right: 0;
}.circle {position: absolute;bottom: 10px;left: 50px;
}.circle li {float: left;width: 8px;height: 8px;border: 2px solid rgba(255, 255, 255, 0.5);margin: 0 3px;border-radius: 50%;/*鼠标经过显示小手*/cursor: pointer;
}.current {background: #fff;
}

js

// 等页面所有元素加载完后再执行js
window.addEventListener('load', function () {//this.alert('1');  // 测试// 1. 获取元素var arrow_l = this.document.querySelector('.arrow-l');var arrow_r = this.document.querySelector('.arrow-r');var focus = document.querySelector('.focus');var focusWidth = focus.offsetWidth;//console.log(focusWidth); test// 2. 鼠标经过focus 就显示隐藏的左右按钮focus.addEventListener('mouseenter', function () {arrow_l.style.display = 'block';arrow_r.style.display = 'block';clearInterval(timer);timer = null; // 清除定时器变量})// 鼠标离开focus 就隐藏左右按钮focus.addEventListener('mouseleave', function () {arrow_l.style.display = 'none';arrow_r.style.display = 'none';timer = setInterval(function () {// 手动调用点击事件arrow_r.click();}, 2000);})// 3. 动态生成小圆圈,有几张图片我们就生成几个小圆圈var ul = focus.querySelector('ul');var ol = focus.querySelector('.circle');// console.log(ul.children.length);   testfor (var i = 0; i < ul.children.length; i++) {// 创建一个小livar li = this.document.createElement('li');//记录当前小圆圈的索引号 通过自定义属性来做li.setAttribute('index', i);// 把小li插入到ol里面ol.appendChild(li);// 4. 小圆圈的排他思想 我们可以直接生成小圆圈的同时直接绑定点击事件li.addEventListener('click', function () {// 干掉所有人 把所有的小li 清除 current 类名for (var i = 0; i < ol.children.length; i++) {ol.children[i].className = ' ';}// 留下我自己 当前的小li 设置current 类名this.className = 'current';// 5. 点击小圆圈,移动图片 当然移动的是 ul// ul 的移动距离 小圆圈的索引号 乘以 图片的宽度 注意是往左走,所以是负值// 当我们点击了某个小li 就拿到当前小li 的索引号var index = this.getAttribute('index');//console.log(index); test//当我们点击了某个小li 就要把这个小li 的索引号给 numnum = index;//当我们点击了某个小li 就要把这个小li 的索引号给 circle circle是控制小圆圈自动播放circle = index;animate(ul, -index * focusWidth);})}// 把ol的第一个小li设置类名为 currentol.children[0].className = 'current';// 6. 克隆第一张图片(li)放到ul 最后面var first = ul.children[0].cloneNode(true);ul.appendChild(first);// 7. 点击右侧按钮一次,就让图片滚动一张var num = 0;// circle 控制小圆圈的播放var circle = 0;// flag 节流阀var flag = true;arrow_r.addEventListener('click', function () {if (flag) {flag = false; // 关闭节流阀// alert('1'); test// 如果走到了最后复制的一张图片,此时,我们的ul 要快速复原 left 改为 0if (num == ul.children.length - 1) {ul.style.left = 0;num = 0;}num++;animate(ul, -num * focusWidth, function () {flag = true; // 打开节流阀});// 8. 点击右侧按钮,小圆圈跟随一起变化,可以再声明一个变量控制小圆圈的播放circle++;// 如果circle == 4 说明走到最后我们克隆的这张图片了 我们就复原为0// if (circle == ol.children.length) {//     circle = 0;// }// 代码优化 三元表达式circle = circle == ol.children.length ? 0 : circle;// 调用函数circleChange();}})// 9. 左侧按钮做法arrow_l.addEventListener('click', function () {if (flag) {flag = false;// alert('1'); test// 如果走到了最后复制的一张图片,此时,我们的ul 要快速复原 left 改为 0if (num == 0) {num = ul.children.length - 1;// ul向左走为负值ul.style.left = -num * focusWidth + 'px';}num--;animate(ul, -num * focusWidth, function () {flag = true;});// 8. 点击右侧按钮,小圆圈跟随一起变化,可以再声明一个变量控制小圆圈的播放circle--;// // 如果circle < 0 说明第一张图片 则小圆圈要改为第4个小圆圈// if (circle < 0) {//     circle = ol.children.length - 1;// }// 代码优化 三元表达式circle = circle < 0 ? ol.children.length - 1 : circle;// 调用函数circleChange();}})// 优化 左右按钮的小圆圈排他思想代码一样 就封装为一个函数,调用函数 减少代码重复量function circleChange() {// 先清除其余小圆圈的current类名for (var i = 0; i < ol.children.length; i++) {ol.children[i].className = '';}// 留下当前的小圆圈的current类名ol.children[circle].className = 'current';}// 10. 自动播放轮播图var timer = setInterval(function () {// 手动调用点击事件arrow_r.click();}, 2000);
})

animate.js

function animate(obj, target, callback) {// console.log(callback);  callback = function() {}  调用的时候 callback()// 先清除以前的定时器,只保留当前的一个定时器执行clearInterval(obj.timer);obj.timer = setInterval(function () {// 步长值写到定时器的里面// 把我们步长值改为整数 不要出现小数的问题// var step = Math.ceil((target - obj.offsetLeft) / 10);var step = (target - obj.offsetLeft) / 10;step = step > 0 ? Math.ceil(step) : Math.floor(step);if (obj.offsetLeft == target) {// 停止动画 本质是停止定时器clearInterval(obj.timer);// 回调函数写到定时器结束里面// if (callback) {//     // 调用函数//     callback();// }callback && callback(); // 短路运算符 如果callback 为true 就会执行后面的callback()}// 把每次加1 这个步长值改为一个慢慢变小的值  步长公式:(目标值 - 现在的位置) / 10obj.style.left = obj.offsetLeft + step + 'px';}, 15);
}

2. 案例:返回顶部

请添加图片描述请添加图片描述
在之前 仿淘宝固定侧边栏的案例 中实现

js

// 3. 当我们点击了返回顶部模块,就让窗口滚动的页面的最上方goBack.addEventListener('click', function () {// alert(1);// 里面的x和y 不跟单位的 直接写数字即可// window.scroll(0, 0);// 因为是窗口滚动 所以对象是windowanimate(window, 0);});// 动画函数function animate(obj, target, callback) {// console.log(callback);  callback = function() {}  调用的时候 callback()// 先清除以前的定时器,只保留当前的一个定时器执行clearInterval(obj.timer);obj.timer = setInterval(function () {// 步长值写到定时器的里面// 把我们步长值改为整数 不要出现小数的问题// var step = Math.ceil((target - obj.offsetLeft) / 10);var step = (target - window.pageYOffset) / 10;step = step > 0 ? Math.ceil(step) : Math.floor(step);if (window.pageYOffset == target) {// 停止动画 本质是停止定时器clearInterval(obj.timer);// 回调函数写到定时器结束里面// if (callback) {//     // 调用函数//     callback();// }callback && callback(); // 短路运算符 如果callback 为true 就会执行后面的callback()}// 把每次加1 这个步长值改为一个慢慢变小的值  步长公式:(目标值 - 现在的位置) / 10// obj.style.left = window.pageYOffset + step + 'px';window.scroll(0, window.pageYOffset + step);}, 15);}

请添加图片描述

3. 案例:筋斗云

鼠标经过某个小li,筋斗云跟这到当前小i位置
鼠标离开这个小li,筋斗云复原为原来的位置
鼠标点击了某个小li,筋斗云就会留在点击这个小li的位置

3.1 案例分析

请添加图片描述

3.2 代码实现

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}ul {list-style: none;}body {background-color: black;}.c-nav {width: 900px;height: 42px;background: #fff url(images/rss.png) no-repeat right center;margin: 100px auto;border-radius: 5px;position: relative;}.c-nav ul {position: absolute;}.c-nav li {float: left;width: 83px;text-align: center;line-height: 42px;}.c-nav li a {color: #333;text-decoration: none;display: inline-block;height: 42px;}.c-nav li a:hover {color: white;}.cloud {position: absolute;left: 0;top: 0;width: 83px;height: 42px;background: url(images/cloud.gif) no-repeat;}</style><script src="animate.js"></script><script>window.addEventListener('load', function () {// 1. 获取元素var cloud = document.querySelector('.cloud');var c_nav = document.querySelector('.c-nav');var lis = c_nav.querySelectorAll('li');// 这个current 做为筋斗云的起始位置var current = 0;// 2. 给所有的小li绑定事件 for (var i = 0; i < lis.length; i++) {// (1) 鼠标经过把当前小li 的位置做为目标值lis[i].addEventListener('mouseenter', function () {animate(cloud, this.offsetLeft);});// (2) 鼠标离开就回到起始的位置 lis[i].addEventListener('mouseleave', function () {animate(cloud, current);});// (3) 当我们鼠标点击,就把当前位置做为目标值lis[i].addEventListener('click', function () {current = this.offsetLeft;});}})</script>
</head><body><div class="c-nav"><span class="cloud"></span><ul><li class="current"><a href="">首页新闻</a></li><li><a href="#">师资力量</a></li><li><a href="#">活动策划</a></li><li><a href="#">企业文化</a></li><li><a href="#">招聘信息</a></li><li><a href="#">公司简介</a></li><li><a href="#">我是佩奇</a></li><li><a href="#">啥是佩奇</a></li></ul></div>
</body></html>

请添加图片描述


http://chatgpt.dhexx.cn/article/HDjTL22j.shtml

相关文章

php几种常用的加密解密算法

本文给大家介绍php的三种常用的加密解密算法&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你们有所帮助。 php 自带的加密函数&#xff1a; 不可逆的加密函数为&#xff1a;md5()、sha1()、crypt() md5() 用来计算 MD5 哈稀 md5(stri…

加解密算法概述

文章目录 加解密算法概述前言概述加解密算法国密算法 应用总体对称加解密非对称加解密 实现 加解密算法概述 前言 密码由来已久&#xff0c;相传公元前405年&#xff0c;雅典和斯巴达之间的伯罗奔尼撒战争最早出现密码&#xff0c;通过杂乱无章的字母拼接成一段话就是要传递的…

AES加密解密算法设计(C++)

目 录 1&#xff0e; 背景与意义 4 2. 系统设计 5 2.1系统主要目标 5 2.2主要软件需求&#xff08;运行环境&#xff09; 5 2.3功能模块与系统结构 6 3 系统功能程序设计 8 3.1基本要求部分 8 3.1.1 字节替换 8 3.1.2行移位 9 3.1.3列混合 11 3.1.4密钥加 13 3.1.5密钥扩展 14 …

加解密算法

总结 推荐使用的算法&#xff1a; 对称加密算法&#xff1a;AES-GCM-256&#xff0c;SM1 (硬件国密), SM4 (国密)非对称加密算法&#xff1a;RSA2048&#xff0c;SM2 (国密)信息摘要算法&#xff1a;SHA256&#xff0c;SM3 (国密散列算法) 对称加密算法/AES-GCM-256: GCMGM…

加密解密及算法详解

1、简介 今天我要给大家分享的是互联网通信中用到的各种加密解密算法&#xff0c;在我们介绍加解密知识前&#xff0c;首先我们了解一下密码学、密码、加密、数字签名、密钥交换等相关术语的含义。 1.1 密码学 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规…

常见的加密解密算法

文章目录 一、概述二、区别 一、概述 加密分为单向加密和双向加密&#xff1a; 单向加密 又称为不可逆加密&#xff0c;即生成密文无法反解的一种加密方式&#xff1b;eg:MD5和SHA系列、HMAC。 双向加密 又称为可逆加密&#xff0c;即生成密文后&#xff0c;在需要的时候可以反…

RSA 加密解密算法实现(简单,易懂)!!!

目录 一、什么是RSA算法 1.对称加密 2.非对称加密 3.非对称加密的应用 二、RSA算法的基础操作步骤 1.生成公钥和私钥 2.用公钥加密信息 3.用私钥解密信息 三、AC代码 六、RSA算法的测试 七、共勉 一、什么是RSA算法 在计算机中常用的加密算法分为两类&#xff1a;对称…

13种加密与解密算法【一】

这15种加密解密算法分别是&#xff1a;散列哈希[MD5、SHA1、CRC32]&#xff0c;对称[DES&#xff0c;3DES&#xff08;TDEA、Triple DES&#xff09;&#xff0c;AES、&#xff0c;Blowfish&#xff0c;RC4、RC5&#xff0c;IDEA]&#xff0c;Base64、Rabbit、Escape。【三种分…

【2021最新版】Linux面试题总结(48道题含答案解析)

文章目录 1、绝对路径用什么符号表示&#xff1f;当前目录、上层目录用什么表示&#xff1f;主目录用什么表示? 切换目录用什么命令&#xff1f;2、怎么查看当前进程&#xff1f;怎么执行退出&#xff1f;怎么查看当前路径&#xff1f;3、怎么清屏&#xff1f;怎么退出当前命令…

linux操作系统期末考试题库

别光看点个赞呗 文档完整下载链接&#xff1a; w​​​​​​​w​​​​​​​https://download.csdn.net/download/weixin_59241300/87299684 1. cal命令 2.cat命令 3.cd命令 4.date命令 5.echo命令 6.grep命令 7.head 命令 8.ls 命令 9.touch 命令 10.more命令 …

Linux上机考试试题

Linux基础机考测试题 1、如果忘记登录密码&#xff0c;如何破解超级用户root的密码&#xff0c;并将密码改为redhat。&#xff08;操作过程抓图体现&#xff09; 开机在出现grub画面&#xff0c;按e键 用上下键选中第二项(类似于kernel /boot/vmlinuz-2.4.18-14 ro rootLABEL…

linux考试题库

&#xff08;Linux&#xff09;是一个自由、免费、开放的系统软件&#xff0c;支持多种硬件平台&#xff0c;多用户、多任务特点。 Linux操作系统是&#xff08;Linus Torvalds&#xff09;第一个开发的。 下列中&#xff08;单用户&#xff09;不是Linux的特点。 Linux一般…

Linux期末考试题库(超全)

文章目录 Linux期末考试题库选择题填空题简答题操作题 Linux期末考试题库 选择题 在创建Linux分区时&#xff0c;一定要创建&#xff08; D &#xff09;两个分区 A. FAT/NTFS  B. FAT/SWAP  C. NTFS/SWAP  D.SWAP/根分区 在Red Hat Linux 9 中&#xff0c;系统默…

虚拟机镜像文件高速下载方法之一

虚拟机镜像文件高速下载方法之一&#xff08;外加镜像文件合集打包&#xff09; 1.打开网址网易开源镜像站 2.打开对应文件夹&#xff08;比如下载kali镜像文件&#xff09; &#xff08;1&#xff09;点击 kali-images/ &#xff08;2&#xff09;点击自己需要的版本(此处我…

添加虚拟机镜像centso 8的步骤

此篇文章仅介绍添加虚拟机镜像的步骤&#xff0c;特别说明这里以centso 8为例 如有需要安装VMware虚拟机&#xff0c;可以通过以下链接跳转至对应文章 VMware虚拟机安装配置及虚拟机网络模式说明https://blog.csdn.net/weixin_55883492/article/details/123790174?spm1001.2…

vmware 虚拟机恢复ghost镜像文件

一、下载winPE.iso、软碟通 链接&#xff1a;https://pan.baidu.com/s/1Ty2td8_9-3Dr7Qc5XHhyNw 提取码&#xff1a;wtuk 二、恢复&#xff1a; 1、配置基础Vmware系统模板&#xff0c;如何配置可百度搜索 注意&#xff1a;内存必须为2G以上,否则无法使用PE 2、CD/DVD — …

macOS Monterey 12.3 (21E230) 虚拟机 IOS 镜像

macOS Monterey 12.3&#xff08;内部版本号 21E230&#xff09;&#xff0c;这是一个重大更新&#xff0c;引入了通用控制&#xff0c;这项功能可以支持一个键盘或者鼠标同时控制多台 Mac 电脑或者 iPad。另外根据用户反馈&#xff0c;此次更新也对 AMD 6000 系显卡进行了优化…

虚拟机的镜像安装

虚拟机镜像的安装 (1)下载好虚拟机iso镜像安装包 (2)命令virt-manager 打开虚拟机管理器 点击左上角创建新虚拟机按钮 (3)选择"Local install media"这个选项 --> Forward (4)点击Browse…按钮 (5)Browse Local–>找到rhel-server-7.3-x86_64-dvd.iso 镜像…

KVM详解(五)——KVM虚拟机镜像格式

今天继续给大家介绍Linux运维相关知识&#xff0c;本文主要内容是KVM虚拟机镜像格式。 一、虚拟机常用镜像格式介绍 目前&#xff0c;虚拟机的主流镜像格式有raw、cow、qcow、qcow2以及vmdk&#xff0c;下面&#xff0c;我就详细介绍一下这些主流的虚拟机镜像格式。 &#x…

虚拟机下载-下载windows镜像

虚拟机—官方镜像下载—windows镜像 访问微软官网: win10: https://www.microsoft.com/zh-cn/software-download/windows10 win7: https://www.microsoft.com/zh-cn/software-download/windows11 点击立即下载工具进行下载[windows] 下载 以后-双击—安装程序 点击 [下一步] 协…