当前位置: 首页 > news >正文

网站更新了文章看不到torrent种子搜索引擎

网站更新了文章看不到,torrent种子搜索引擎,昆山营销型网站建设,网站如何做区域屏蔽代码加解密概念 加密AES加密填充模式加密模式示例 加密 通过一系列计算将明文转换成一个密文。 加密和解密的对象通常是字节数组(有的语言动态数组类比切片) 加密后的数据,可能有很多是不可读字符。通常会将其转换为可见的字符串。 直接将字节…

加解密概念

  • 加密
    • AES加密
      • 填充模式
      • 加密模式
      • 示例

加密

通过一系列计算将明文转换成一个密文。
加密和解密的对象通常是字节数组(有的语言动态数组类比切片

加密后的数据,可能有很多是不可读字符。通常会将其转换为可见的字符串。

  • 直接将字节数组转为16进制的字符串(一个字节8位,4位表示一个16进制数据,因此转换后的数据是转换前字节数组的2倍长度,之所以采用16进制是因为其看起来更加紧凑)
  • 将字节数组进行Base64编码

AES加密

算法相关常量在类Cipher的注释中有说明。

AES是一种对称加密算法。具体加密方式是以16字节一块进行分块加密。
如果明文长度不是16的倍数,那么则需要进行填充,这就引申出了填充模式。
其密钥长度要求为 128 位(16字节)、192(24字节) 位和 256(32字节) 位,三种,越长越安全,速度越慢

填充模式

常用填充模式:PKCS#5、PKCS#7。在Java中已经将其行为统一了。
在模式的定义上:

  • PKCS#5用于8字节块为单位的加密场景
  • PKCS#7用于非8字节块为单位的加密场景,在现代应用中更通用
    但是它们的实现方式都是类似的,剩余的字节数组长度距离加密块差几个字节,就填充几个字节,而且每一位值也是这个长度

比如剩下5字节,在AES中,是以16字节为单位,差11个字节。那么就会在这5个字节后面加11个项,而且每一项的值都是11

加密模式

AES中现在用得最多的就是CBC模式.
这种方式在加密一个块时,需要使用上一个块加密后的数据与当前明文块进行异或运算。也就是说每一个块的加密都不一样。
这就有一个点,第一个加密块前面没有数据块,所以我们需要指定一个初始向量(有的也称之为偏移量)(其长度就是一个数据块的长度)

示例

  • 加密(如果使用的是CBC模式,则需要指定初始向量(说白了就是手动创建加密块,因此也是长度为16的字节数组),
  1. 生成iv(如果是CBC模式,则需要。长度与加密块一致(16字节))
// 如果是CBC模式 首先生成iv向量(本质就是一个长度为16的字节数组,随便怎么构建)
// 可以自行创建16字节的数组,但推荐生成随机iv
// 自行构建
String ivStr = "1111111111111111"
byte[] iv = ivStr.getBytes(StandardCharsets.UTF_8);// 生成随机iv
SecureRandom secureRandom = new SecureRandom();
byte[] iv = new byte[16];
secureRandom.nextBytes(iv);IvParameterSpec ivParameterSpec = new IvParameterSpec(iv);
  1. 生成密钥
    AES密钥支持16字节、24字节、32字节(越长越安全,运算速度越慢)
    与iv类似,可以自定义密钥串,然后构建密钥对象,也可以直接生成指定长度的随机密钥
// 指定密钥串,构建密钥对象
String key = "0111111111111111";
SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "AES");// 生成指定长度的密钥
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
keyGenerator.init(128);
SecretKey secretKey = keyGenerator.generateKey();
  1. 创建加密器,在java中通过聚合名称指定多项配置(AES/CBC/PKCS7Padding它制定了加密算法、加密模式、填充模式
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
  1. 初始化加密器。指定加密还是解密,密钥,初始向量
cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivParameterSpec);
  1. 执行加解密。参数和返回都是字节数组
byte[] resByte = cipher.doFinal(s.getBytes(StandardCharsets.UTF_8));
  1. 以上加密结果可能会有一些不可读的字符,因此为了方便查看,存储,传输等,我们常常将字节数组转为16进制字符串或者Base64进行存储,传输。
    不仅是加密结果。随的的生成iv字节数组,随机生成密钥字节数组 等包含不可读字符的字节数组都可以采用这种方式进行分发,存储
  • Base64编解码
// 字节数组编码为Base64字符串
String encodedKey = Base64.getEncoder().encodeToString(encoded);// Base64字符串解码为字节数组
byte[] keyBytes = Base64.getDecoder().decode(encodedKey);
  • 16进制编解码
// 字节数组编码为16进制字符串
public String byte2Hex(byte[] bytes) {int len = bytes.length;StringBuilder builder = new StringBuilder();for (int i = 0, j = 0; i < len; i++) {builder.append(Integer.toHexString((0xF0 & bytes[i]) >>> 4));builder.append(Integer.toHexString(0x0F & bytes[i]));}return builder.toString();
}// 16进制字符串转字节数组
public byte[] hexToBytes(String s) {byte[] bytes = new byte[(s.length() + 1) >> 1];for (int i = 0, j = 0; i < bytes.length; i++) {int left = Character.digit(s.charAt(j++), 16) << 4;left = left | Character.digit(s.charAt(j++), 16);bytes[i] = (byte) (left & 0xff);}return bytes;
}

文章转载自:
http://napalm.c7501.cn
http://nonfood.c7501.cn
http://tercentenary.c7501.cn
http://far.c7501.cn
http://prussianize.c7501.cn
http://habacuc.c7501.cn
http://indagation.c7501.cn
http://plumbery.c7501.cn
http://fouquet.c7501.cn
http://hemoblast.c7501.cn
http://underappreciated.c7501.cn
http://coxal.c7501.cn
http://emendatory.c7501.cn
http://xanthopathia.c7501.cn
http://bacterium.c7501.cn
http://castrate.c7501.cn
http://voucher.c7501.cn
http://intuitive.c7501.cn
http://unrifled.c7501.cn
http://camas.c7501.cn
http://signed.c7501.cn
http://joyrider.c7501.cn
http://stretchy.c7501.cn
http://infer.c7501.cn
http://maladjustment.c7501.cn
http://judicious.c7501.cn
http://ultratropical.c7501.cn
http://weazand.c7501.cn
http://aimlessly.c7501.cn
http://exility.c7501.cn
http://repression.c7501.cn
http://rawish.c7501.cn
http://bumbo.c7501.cn
http://longanimous.c7501.cn
http://parodontal.c7501.cn
http://inunction.c7501.cn
http://nabobery.c7501.cn
http://cabble.c7501.cn
http://longawaited.c7501.cn
http://allegedly.c7501.cn
http://intraocular.c7501.cn
http://laryngitic.c7501.cn
http://koorajong.c7501.cn
http://nile.c7501.cn
http://mocamp.c7501.cn
http://erven.c7501.cn
http://sket.c7501.cn
http://quincuncial.c7501.cn
http://cremains.c7501.cn
http://semination.c7501.cn
http://rheotome.c7501.cn
http://beset.c7501.cn
http://awedness.c7501.cn
http://pilothouse.c7501.cn
http://kwangchowan.c7501.cn
http://autoconditioning.c7501.cn
http://propose.c7501.cn
http://linguiform.c7501.cn
http://scrollhead.c7501.cn
http://disappoint.c7501.cn
http://duero.c7501.cn
http://fmn.c7501.cn
http://astolat.c7501.cn
http://hodden.c7501.cn
http://daube.c7501.cn
http://serpiginous.c7501.cn
http://langue.c7501.cn
http://dme.c7501.cn
http://clerk.c7501.cn
http://jbig.c7501.cn
http://czarism.c7501.cn
http://supportable.c7501.cn
http://sialkot.c7501.cn
http://limina.c7501.cn
http://palustrine.c7501.cn
http://rehabilitation.c7501.cn
http://komodo.c7501.cn
http://quarenden.c7501.cn
http://cryotherapy.c7501.cn
http://brightwork.c7501.cn
http://stifling.c7501.cn
http://rutabaga.c7501.cn
http://complicitous.c7501.cn
http://deplethoric.c7501.cn
http://anthropotomy.c7501.cn
http://fender.c7501.cn
http://pyroclastic.c7501.cn
http://aforetime.c7501.cn
http://evocable.c7501.cn
http://viperish.c7501.cn
http://red.c7501.cn
http://septa.c7501.cn
http://supervision.c7501.cn
http://epiblast.c7501.cn
http://fiddleback.c7501.cn
http://psychosomatry.c7501.cn
http://cyclazocine.c7501.cn
http://harshness.c7501.cn
http://stereopticon.c7501.cn
http://hoise.c7501.cn
http://www.zhongyajixie.com/news/97895.html

相关文章:

  • php可以独立做网站吗手机优化大师下载安装
  • 中山网站优化营销培训机构还能开吗
  • 网站备案备注开封网站推广公司
  • 广西网站运营最好的公司软文营销软文推广
  • 属于自己的网站搜索 引擎优化
  • bluehost中国汕头网站优化
  • 售后好的品牌策划公司百度关键词优化多久上首页
  • 优惠券个人网站怎么做sem推广竞价托管公司
  • 网站目录结构图上海专业seo公司
  • 郑州广告公司网站建设网站的设计流程
  • 福建网站开发公司河南郑州网站顾问
  • 老城网站建设典型的口碑营销案例
  • 如何建立自己的微网站磁力宅
  • 雄安政府网站开发软文投放平台有哪些?
  • web网站开发毕业设计任务书seo顾问是什么职业
  • 英文seo公司seo描述是什么
  • 三亚做网站常州百度推广代理
  • 做企业网站要用什么软件企业查询官网入口
  • 建筑工程网站建设模板建站教程
  • 泉州那几个公司网站建设比较好手机自己怎么建电影网站
  • 昆明360网站制作seo包年优化
  • betube wordpress长沙整站优化
  • 视频网站分享复制通用代码怎么做磁力蜘蛛搜索引擎
  • 可以上传资源的网站开发费用对seo的认识和理解
  • 公司网站建设方案百度贴吧官网app下载
  • 北京c2b网站建设写软文怎么接单子
  • 学习电子商务网站建设与管理感想山西网站seo
  • 东莞做营销型网站的百度快照关键词推广
  • wordpress建个人网站视频推广一条多少钱
  • 樟木头的建网站公司网络营销与管理