0%

作用

验证身份。提供encrypt(身份,私钥) 和 公钥,可以证明是 对应私钥的所有者。

pk = public key

sk = secret key

流程

比如Alice 想和 Bob建立可信通信。

  1. Alice 让 CA第三方机构 给自己身份和Alice_pk加密。 encrypt({Alice_id, Alice_pk}, CA_sa)

  2. Bob 用rootCA.crt 验证Alice.crt

  3. Bob 从Alice.crt中取出Alice_pk, 并用Alice_pk解密消息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
openssl req -newkey rsa:2048 -nodes -keyout rootCA.key -x509 -days 365 -out rootCA.crt

openssl req -new -nodes -keyout Alice.key -out Alice.csr

openssl x509 -req -in Alice.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out Alice.crt

echo "A very important business contract to Bob" > alice-contract
openssl dgst -sha256 -sign Alice.key -out alice-contract-sign.sha256 alice-contract

openssl verify Alice.crt

openssl verify -CAfile rootCA.crt Alice.crt

#从Alice的证书中导出Alice的公钥
openssl x509 -pubkey -noout -in Alice.crt > Alice-pub.key
#使用公钥对合同签名进行验证
openssl dgst -sha256 -verify Alice-pub.key -signature alice-contract-sign.sha256 alice-contract

所有证书和私钥

  1. 服务端证书
  2. 服务端私钥
  3. 客户端证书
  4. 客户端私钥
  5. 服务端 CA根证书
  6. 客户端 CA根证书


https://www.zhaohuabing.com/post/2020-03-19-pki/#undefined

  1. 确保node版本 <= 1.12
1
2
3
4
5
6
7
brew update
# certs
brew install ca-certificates
# gcc
brew install gcc@5
brew install node@12
brew link node@12 ----overwrite
  1. 升级hexo
1
2
3
4
5
6
7
npm install -g npm-check     //安装npm-check
npm-check //查看系统插件是否需要升级
npm install -g npm-upgrade //安装npm-upgrade
npm-upgrade //更新package.json
//在执行npm-upgrade命令后会要求输入yes或者no,直接输入Yes或Y即可
npm update -g //更新全局插件
npm update --save //更新系统插件

https://cloud.tencent.com/developer/article/1758175

Push docker

1
2
docker tag xx:old xx:new
docker push xx:new

Look into docker

1
docker history xx:new  --no-trunc

Build docker

1
2
3
FROM xxx
RUN apt-get install
RUN GO111MODULE=on go get

data 是数据,
indices 是在第几行
indptr 是表示每一行有多少个数字

1
2
3
4
5
6
7
8
9
10
>>> indptr = np.array([0, 2, 3, 6])
>>> indices = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csr_matrix((data, indices, indptr), shape=(3, 3)).toarray()
array([[1, 0, 2],
[0, 0, 3],
[4, 5, 6]])
————————————————
版权声明:本文为CSDN博主「lpty」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_33741547/java/article/details/79878547

1
2
ln -s "/Applications/Visual Studio Code.app/Contents/MacOS/Electron" /usr/local/bin/code
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

1
optim.Adam(list(model1.parameters()) + list(model2.parameters())

1
2
git config --global --unset http.http://github.com.proxy
git config --global --unset http.https://github.com.proxy

1
2
3
perm = torch.randperm(tensor.size(0))
idx = perm[:k]
samples = tensor[idx]

1
sudo diskutil unmount force  /Volumes/MyPassport/sharedir

1
ssh-keygen -f "~/.ssh/known_hosts" -R "189.149.118.2"