今天聊聊密码

什么是密码算法?

国家密码管理局是这样描述密码算法的:

密码算法是实现密码对信息进行“明”“密”变换的一种特定的规则。不同的密码算法有不同的变换规则。因此,密码算法也是加密算法、解密算法、签名算法和认证算法等各类算法的统称。

  密码算法对密码系统的安全性有着至关重要的意义。衡量密码算法的优劣采用的是密码强度的概念。密码强度不高的密码算法极易被对方分析攻破,导致密码系统失灵或被对方利用。为了研究高强度的密码算法,普遍采用数理逻辑的方法,这些方法许多都是数学中研究的课题,属于计算方法问题。计算方法在数学中通常称为算法,这也是将密码变换规则称为密码算法的原因。

什么是密码?

密码就是用来开锁的钥匙,当然在这里密码就是钥匙的功能,

密码是由什么组成的呢?

一把锁可以有多个密码也可以有多把钥匙,所以锁的类型不同钥匙也不同,那就是说密码的算法也就不同,
根据密码的特点分为集重常见的密码算法:有组成密码,有加密密码,还有序列密码,等不同排序方式的密码。

字母数字特殊符号,大小写还是全数字,全字母,还是混合,这个是一个排列组合的游戏,今天来看下我们常见的生成密码的办法吧
通过java 生成密码
...
package arithmetic;

import java.util.Random;
public class PassWord {
/**
* 密码的自动生成器:密码由大写字母/小写字母/数字组成,生成12位随机密码;
*/

    public static void main(String[] args) {
        char [] pardStore = new char[62];
        for (int i = 0; i < 26; i++) {
            pardStore[i]=(char)('A'+i);
        }
        for (int i = 26; i < 52; i++) {
            pardStore[i]=(char)('a'+(i-26));
        }
        for (int i = 52; i < 62; i++) {
            pardStore[i]=(char)('0'+(i-52));
        }
        Random r = new Random();
        for (int i = 0; i < 12; i++) {
            int n = r.nextInt(62);
            System.out.print(pardStore[n]);
        }

    }

}

...
以上方法可以生成一个12位的混合密码,看这个算法你认为安全吗?看似乎安全但是为啥不安全呢?应为密码生成算法我已经暴露给大家了,通过这个算法生成的密码很容易就破解掉密码。因为他可能生成一你使用过的密码。所以这个算法需要被改造后才能使用于生成相对安全的密码,密码没有绝对安全的说发。

下面介绍一个excel 生成密码的办法
...
=CHAR(RAND()26+65)&CHAR(RAND()26+96)&CHAR(RAND()26+65)&RANDBETWEEN(11111,99999)&CHAR(RAND()6+22)&CHAR(RAND()*6+42)
...
就这个方法,何以生成密码随你玩随你改。

posted @ 2022-07-11 22:02  浅笑若风  阅读(131)  评论(0编辑  收藏  举报