0%

JAVA加密组件

JAVA安全相关的分为了四部分

  • JCA Java Cryptography Artchitecture,Java加密体系结构,提供了基本的机密框架,如证书、数字签名、消息摘要和密钥对产生器
  • JCE Java Cryptography Extension,Java加密扩展包,是在JCA基础上的扩展,提供了各种加密算法、消息摘要算法和秘钥管理等功能,主要实现是在javax.crypto包及其子包中
  • JSSE Java Secure Sockets Extension,Java安全套接字扩展包,提供了基于SSL的加密功能
  • JAAS Java Authentication and Authentication Service,Java鉴别与安全服务,提供了在java平台上进行用户身份鉴别的功能

java.security包

为安全框架提供类和接口,该包中仅能完成消息摘要算法的实现MessageDigest

javax.crypto包

javax.crypto实现了真正的加密和解密

hexo使用next主题渲染流程图

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

next主题的配置文件中搜索找到mermaid,把enable配置改为true

1
2
3
4
mermaid:
enable: true
# Available themes: default | dark | forest | neutral
theme: default

然后在博客下安装hexo-filter-mermaid-diagrams

1
npm install hexo-filter-mermaid-diagrams --save

之后正常编译构建流程图就可以渲染出来了

1
hexo cl && hexo g && hexo s

hexo使用next主题新增RSS

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

如何让next主题支持RSS呢?看着好像官方没支持,自己加上吧

在next下的_config.yml配置中新增

1
2
3
4
5
sidebar_rss:
text: RSS
icon: fa fa-rss
color: burlywood
link: atom.xml

找到next/layout/_partials/sidebar/site-overview.swig文件,在社交判断板块下新增以下代码

1
2
3
4
5
6
7
8
9
10
{%- if theme.sidebar_rss %}
<div class="" >
<a target="_blank" class="social-link" href="{{ url_for(theme.sidebar_rss.link) }}" style="color: {{ theme.sidebar_rss.color }};">
<span class="icon">
<i class="{{ theme.sidebar_rss.icon }}"></i>
</span>
<span class="label">{{ theme.sidebar_rss.text }}</span>
</a>
</div>
{%- endif %}

在博客目录下安装npm install hexo-generator-feed --save,编译时就会生成atom.xml文件。部署之后效果是这样的,快来试试吧

新增RSS

hexo使用next主题博客侧边栏标题点击不跳转

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

本着我肯定不是第一个出这个问题的人,去github上找了找,果然我不是第一个

标题点击不跳转

好吧,也跟着改吧(修改themes/next/source/js/utils.js),找到registerSidebarTOC函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
registerSidebarTOC: function() {
const navItems = document.querySelectorAll('.post-toc li');
const sections = [...navItems].map(element => {
var link = element.querySelector('a.nav-link');
// 修复侧边栏 标题点击不跳转问题
var target = document.getElementById(decodeURI(link.getAttribute('href')).replace('#', ''));
// TOC item animation navigate.
link.addEventListener('click', event => {
event.preventDefault();
//var target = document.getElementById(event.currentTarget.getAttribute('href').replace('#', ''));
var offset = target.getBoundingClientRect().top + window.scrollY;
window.anime({
targets : document.scrollingElement,
duration : 500,
easing : 'linear',
scrollTop: offset + 10
});
});
//return document.getElementById(link.getAttribute('href').replace('#', ''));
return target;
});

hexo增加搜索功能

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

作为一个博客,没有搜索功能,如何在大批文章中找到自己想要的,那在hexo中如何增加搜索功能呢?

1
2
3
search:
path: search.json
field: post

在博客目录下安装npm install hexo-generator-search --save,此时使用hexo cl && hexo g就会在博客public目录下生成一个search.json,在使用hexo d部署上去搜索就可以用了

本地搜索弊端

前期还好,后来随着我的文章越来越多,search.json文件已经达到了十几M,每次加载页面都需要花费几分钟来加载search.json文件,使用体验很不好

algolia搜索

本地搜索走不通,那就只能使用远程搜索了,还好hexo提供了algolia搜索

先去官网登录一下,这里我使用的是Github登录,然后新建一个Index

创建索引

创建Index后,右上角头像处点击选择Settings

阅读全文 »