Jacky's blog
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)
  • shell

  • tool

  • 网络

  • algo

  • compute_base

  • blog

  • growth

  • java

  • C&C++

  • ai

  • secure

  • cms

  • english

  • 生活

  • 金融学

  • more

    • backend base
    • toml/json/yaml/ini
    • 正则表达式(Regex)完整指南
    • media base
    • 工作效率
    • 设计模式和思想
    • AST语法抽象树介绍
    • compress/decompress
    • 灰度发布与ABTest
    • sublime
    • vercel
    • ruby
    • rss
    • animation
    • 加解密技术
      • base
        • category
        • sha-256
        • 对称加密 vs 非对称的加密
      • link
    • encode
    • 世界时间
    • 读kk大神聊房价
    • 效率秘籍
    • 沟通的艺术
  • other
  • more
Jacky
2024-05-13
目录

加解密技术

# base

# category

  • 可逆加密
  • 对称加密: 加密和解密时使用相同的密钥, 常见的有 DES, 3DES, AES, PBE
  • 非对称加密: RSA, DSA, ECC
  • 不可逆加密: 也叫单向加密, 常见的有 MD5, HMAC

# sha-256

SHA-256(Secure Hash Algorithm 256-bit)是一种广泛使用的加密哈希函数,它由美国国家安全局(NSA)设计,并作为 SHA-2 系列算法的一部分。它具有以下特点:

  1. 固定长度输出

输出长度为 256 位(32 字节),无论输入数据的大小或长度如何,SHA-256 总是生成一个 256 位的散列值(哈希值)

  1. 抗碰撞性

SHA-256 的设计使得找到两个不同的输入数据生成相同的哈希值(碰撞)非常困难。虽然不存在完全的碰撞防护(理论上仍可能发生),但找到碰撞的概率极低。因此,SHA-256 通常被认为是抗碰撞的

  1. 抗篡改

哈希函数的一个重要性质是不可逆性: 给定一个哈希值,几乎不可能反推出生成这个哈希值的原始输入。这意味着即使攻击者知道哈希值,也无法直接推断出原始数据

  1. 小输入变化会引起大的输出变化

SHA-256 对输入数据非常敏感,即使对输入数据做微小的改动(如改变一个字母或符号),生成的哈希值也会发生剧烈变化。这种特性称为“雪崩效应”,它确保输入数据的任何微小变化都会导致完全不同的哈希值

  1. 广泛应用

SHA-256 是当前许多安全协议中的重要组成部分,广泛用于数字签名、数据完整性验证、证书签名、区块链等应用 在区块链领域,特别是在比特币等加密货币中,SHA-256 用于挖矿过程以及生成地址

  1. 速度和安全性平衡

相较于较短的哈希算法(如 SHA-1),SHA-256 提供了更高的安全性,但计算速度稍慢。虽然它没有 SHA-3 这样的最新算法安全性高,但在大多数场景中,SHA-256 提供了足够的安全保证

  1. 安全性

目前没有已知的有效攻击能打破 SHA-256 的安全性。传统的攻击(如暴力破解)由于 SHA-256 的输出长度较大,所需计算资源庞大,因此目前是不可行的

  1. 抗预映射攻击

SHA-256 对抗预映射攻击有很强的抵御能力,这意味着给定一个哈希值,要找到一个匹配的输入是极其困难的

  1. 无密钥

与对称加密算法不同,SHA-256 是一种无密钥的哈希函数,它不需要密钥参与运算

总结来说,SHA-256 是一种快速、高效且相对安全的哈希算法,广泛应用于各种需要数据完整性、认证、签名等场景中。

# 对称加密 vs 非对称的加密

https://zhuanlan.zhihu.com/p/42516761 (opens new window)

  • 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中

# link

  • 请求签名分析
  • 在线加密解密 (opens new window)
#security
上次更新: 2025/10/08, 16:24:59
animation
encode

← animation encode→

最近更新
01
npx 使用指南
10-12
02
cursor
09-28
03
inspect
07-20
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式