java获取关键词在百度搜索中第几页第几位
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java获取关键词在百度搜索中第几页第几位相关的知识,希望对你有一定的参考价值。
参考技术A 第五页,第八位。 参考技术B abstract assert boolean breakbyte case catch char class
const continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while
应该就这么多吧。
Java加密与安全
一、简介
数据安全
- 防窃听
- 防篡改
- 防伪造
古代加密方式: - 移位密码:HELLO => IFMMP 按照英文顺序往后移动一位
- 替代密码:HELLO =>p12,5,3 或者是用某一本书的第几页第几行第几个字达到替换密码的目的
这些都是靠人的想象和直觉来涉及的,非常不靠谱,而现代计算机加密:
- 建立在严格的数据理论基础上
- 密码学逐渐发展成一门学科
总结
- 设计一个安全的加密算法非常困难
- 验证一个加密算法是否安全更加困难
- 当前被认为安全的加密算法仅仅是迄今为止尚未被攻破
- 不要 自己设计加密算法
- 不要 自己实现加密算法
- 不要 自己修改已有的加密算法
二、URL编码
一、什么是URL编码?
URL编码是浏览器发送数据给服务器时使用的编码。
- key1=value1&key2=value2&key3=valuye
- q=%E4%B8%AD%E6%96%87
什么是编码?
ascii码就是一种编码,例如
字母 | 编码(16进制) |
---|---|
A | 0x41 |
B | 0x42 |
C | 0x43 |
D | 0x44 |
... | ... |
汉字 | Unicode编码 | UTF-8编码 |
---|---|---|
中 | 0x4e2d | 0xe4b8ad |
文 | 0x6587 | 0xe69687 |
编 | 0x7f16 | 0xe7bc96 |
码 | 0x7801 | 0xe7a081 |
... | ... | ... |
URL编码规则是什么?
- A-Z,a-z,0-9以及**-_.***保持不变
- 其他字符以%XX表示
例如:
1.<:%3C
2.中:%E4%B8%AD(utf-8:0xe4b8ad)
例子
/**
* URL编码
*/
public class SecURL {
public static void main(String[] args) throws UnsupportedEncodingException {
String original = "URL 参数";
String encoded = URLEncoder.encode(original,"UTF-8");
System.out.println("编码后:"+encoded);
String ori = new String(URLDecoder.decode(encoded,"UTF-8"));
System.out.println("解码后:"+ori);
}
}
总结
- URL编码是编码算法,不是加密算法
- URL编码的目的是把任意文本数据编码为%前缀表示的文本,编码后的文本仅包含A-Z,a-z,0-9以及-_.,%*便于浏览器和服务器处理
二、Base64编码
* 什么是Base64编码?
是一种把二进制数据用文本表示的编码算法,例如:byte[]{0xe4,0xb8,0xad} ==> "5Lit"
索引 | 编码 | 索引 | 编码 | 索引 | 编码 |
---|---|---|---|---|---|
0 | A | 26 | a | 52 | 0 |
1 | B | 27 | b | 53 | 1 |
2 | C | 28 | c | ... | ... |
3 | D | 29 | d | 61 | 9 |
... | ... | ... | ... | 62 | + |
25 | Z | 51 | z | 63 | / |
目的
- 是一种用文本(A-Z,a-z,0-9,+/=)表示二进制内容的方式
- 适用于文本协议
- 效率下降
因为二进制经过base64编码它的长度会增加三分之一,如果数组的长度不是3的整数倍,末尾补0x00或0x00 0x00
编码后加=表示补充了1个字节
编码后加==表示补充了2个字节
应用 - 电子邮件协议
/**
* Base64编码
*/
public class SecBase64 {
public static void main(String[] args) throws Exception {
String original = "Hellou00ff编码测试";
//withoutPadding()可以去掉编码后“=”这个字节,有没有=对于解码来说没有影响
String b64 = Base64.getEncoder().withoutPadding().encodeToString(original.getBytes("UTF-8"));
System.out.println(b64);
String ori = new String(Base64.getDecoder().decode(b64), "UTF-8");
System.out.println(ori);
}
}
由于标准的base64在url中会引起冲突,所以在url中使用base64编码会使用另外一种。
在java中,使用url的base64编码它会把“+”变为“-”,把“/"变为“_”这样在传递url参数的时候不会引起冲突
总结
- Base64是编码算法,不是加密算法
- Base64编码的目的是把任意二进制数据编码为文本(长度增加1/3)
- 其他编码:Base32、Base48、Base58
三、摘要算法
一、什么是摘要算法?
以上是关于java获取关键词在百度搜索中第几页第几位的主要内容,如果未能解决你的问题,请参考以下文章