Skip to content

Commit df5bc4b

Browse files
authored
Merge pull request #1 from BlitheWells/dev
merge to master
2 parents 692f92e + 7b90117 commit df5bc4b

6 files changed

Lines changed: 74 additions & 13 deletions

File tree

File renamed without changes.

J2EE/encryption.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
- 对称加密,加密方和解密方持有相同的私钥,应用场景为一般情况下的一对一加密
2+
- 非对称加密,加密方持有公钥,对消息进行加密,解密方持有私钥,只有该私钥可以解密小心,应用场景多为一对多的,以防止对称加密时解密方持有相同密钥而引发的密钥泄漏风险
3+
4+
AES 和 DES 都为对称加密
5+
6+
#### SHA256
7+
```java
8+
String contentNeedToBeEncrypted = "contentNeedToBeEncrypted";
9+
MessageDigest md = MessageDigest.getInstance("SHA-256");
10+
byte[] sign = md.digest(contentNeedToBeEncrypted.getBytes());
11+
12+
//转换成16进制
13+
StringBuffer hexString = new StringBuffer();
14+
for (int i = 0; i < sign.length; i++) {
15+
String hex = Integer.toHexString(0xff & sign[i]);
16+
if (hex.length() == 1)
17+
hexString.append('0');
18+
hexString.append(hex);
19+
}
20+
```
21+
22+
#### AES 对称加密
23+
```java
24+
String contentNeedToBeEncrypted = "contentNeedToBeEncrypted";
25+
String key = "aabbccddeeffgghh";//private key
26+
String iv = "aabbccddeeffgghh";//偏移量,可以设置成和私钥为同一个值
27+
Key keySpec = new SecretKeySpec(key.getBytes(), "AES");
28+
29+
//加密
30+
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING");
31+
IvParameterSpec ivSpec = new IvParameterSpec(iv.getBytes());
32+
cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec);
33+
byte [] b = cipher.doFinal(params.getBytes());
34+
String result = Base64.encodeBytes(b);
35+
36+
//解密
37+
String contentNeedToBeDecrypted = "contentNeedToBeDecrypted";
38+
Cipher cipher1 = Cipher.getInstance("AES/CBC/PKCS5PADDING");
39+
IvParameterSpec ivSpec1 = new IvParameterSpec(iv.getBytes());
40+
byte [] bytes = Base64.decode(contentNeedToBeDecrypted);
41+
cipher1.init(Cipher.DECRYPT_MODE, keySpec, ivSpec1);
42+
byte [] retB = cipher1.doFinal(bytes);
43+
System.out.println(new String(retB, "utf-8"));
44+
```

OTHER/JavaScript.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#### 需要学习的生词
2+
- REFUSE
3+
- GRID
4+
- COOL
5+
- ATTRACT
6+
- TOWER
7+
- LOYAL
8+
- LABOR
9+
- CELERY
10+
- WORD
11+
- PURPOSE
12+
- OVAL
13+
- APOLOGY

OTHER/Subledger.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
### 会计知识
22
>资产 + 成本 = 负债 + 收入
33
- 资产和成本为借方,负债和收入为贷方
4-
- 借方增加记 借,贷方增加记 贷
5-
- 借方减少记 贷,贷方减少记 借
4+
- 借方增加记 借(D),贷方增加记 贷(C)
5+
- 借方减少记 贷(C),贷方减少记 借(D)
66

77
#### Example:
8-
公司A有一产品P,卖出价格100元,需向第三方B支付90元成本,支付渠道即时收取2元手续费。当用户a购买产品P时记账如下:
9-
10-
- 用户付款成功:
11-
公司A资产账号增加98元
12-
第三方B结算账号增加90元
13-
手续费成本账号增加2元
14-
收入账号增加10元
8+
公司A有一产品P,卖出价格100元,需向第三方B支付90元成本,支付渠道即时收取2元手续费。当用户a购买产品P时记账如下:
9+
   - 用户付款成功:
10+
公司A资产账号增加98元
11+
第三方B结算账号增加90元
12+
手续费成本账号增加2元
13+
收入账号增加10元
1514
> 公司A资产账号(98元 借) + 手续费成本账号(2元 借) = 第三方B结算账号(90元 贷) + 收入账号 (10元 贷)
16-
17-
   - 第三方体现:
18-
公司A资产账号减少90元
19-
第三方B结算账号减少90元
15+
16+
   第三方结算时记账如下:
17+
   - 第三方结算体现:
18+
公司A资产账号减少90元
19+
第三方B结算账号减少90元
2020
> 公司A资产账号(90元 贷) = 第三方B结算账号(90元 借)
21+
22+
PS: 所有账户均为记账账户,在公司角度建立。记账时,一条记账凭证,为同一时间发生所有记账账户变动,所以一条凭证关联所有账户变动,便于结算等。

TOOLS/git.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#### 深入理解 git

TOOLS/maven.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#### Learn maven

0 commit comments

Comments
 (0)