国密算法

算法分类

国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。

继续阅读国密算法

bash切换zsh后.bashrc文件失效的解决方案

问题

  • 从`bash`切换到`zsh`后,发现原先`bash`下的`bashrc`文件配置都失效了(显示`zsh: command not found`字样,当然如果手动通过`source FileName`加载是可以的),`macOS Catalina(10.15.5)` 已经默认切换到`zsh`,那么如何实现不用每次加载`.bashrc`文件就实现`alias`等便捷功能呢?

解决方案

  1. 使用系统级的`/etc/zshrc`或`/etc/zprofile`
  2. 使用用户级的`~/[X]bashrc`或`~/[X]profile`
  • 鉴于`/etc/zshrc`里有较多`zsh`特性配置,而且默认`全局加载`,因此这里通过编辑用户级的`profile`并加载原先的`bashrc`(即`Bash Shell`下用户文件)来实现我们的需求
详细步骤
  • 复制系统文件并修改权限
mu@xiaomudeMacBook-Pro ~ % cp /etc/zprofile ~/.zprofile

mu@xiaomudeMacBook-Pro ~ % ll ~/.zprofile
-r--r--r--  1 mu  staff  255  9  6 09:35 /Users/mu/.zprofile

mu@xiaomudeMacBook-Pro ~ % chmod u+w ~/.zprofile #要实现自定义必须添加写权限,否则只有只读权限

mu@xiaomudeMacBook-Pro ~ % ll ~/.zprofile
-rw-r--r--  1 mu  staff  255  9  6 09:35 /Users/mu/.zprofile
  • 追加自定义配置项,加载Bash Shell.bashrc文件
mu@xiaomudeMacBook-Pro ~ % cat .bashrc
alias ll='ls -l'

mu@xiaomudeMacBook-Pro ~ % echo "source ~/.bashrc" >> .zprofile
  • 测试
mu@xiaomudeMacBook-Pro ~ % ll #配置暂未生效
zsh: command not found: ll

mu@xiaomudeMacBook-Pro ~ % source .zprofile #加载配置文件,使其立即生效;下一次打开终端Shell会话,将自动加载

mu@xiaomudeMacBook-Pro ~ % ll
total 16
drwx------   5 mu  staff   160  8 23 14:38 Applications
drwx------@  4 mu  staff   128  1  2  2019 Applications (Parallels)
drwx------@  4 mu  staff   128  9  1 15:23 Desktop
drwx------+ 20 mu  staff   640  8 29 12:14 Documents
drwx------@ 35 mu  staff  1120  9  6 09:29 Downloads
drwx------@ 85 mu  staff  2720  8 30 11:05 Library
drwx------+  4 mu  staff   128  8 20 20:17 Movies
drwx------+  8 mu  staff   256  8 20 20:17 Music
drwx------  26 mu  staff   832  9  6 09:28 Nextcloud
drwx------   3 mu  staff    96  1  2  2019 Parallels
drwx------+  6 mu  staff   192  8 20 20:01 Pictures
drwxr-xr-x+  4 mu  staff   128 11 28  2018 Public
drwxr-xr-x   4 mu  staff   128 12  9  2018 PycharmProjects
-rw-r--r--   1 mu  staff   811 12 15  2018 Untitled.ipynb
-rw-r--r--   1 mu  staff  1578 12 29  2018 Untitled1.ipynb
drwxr-xr-x   3 mu  staff    96  8 25 16:08 VirtualBox VMs
drwxr-xr-x   2 mu  staff    64  1 25  2019 WeChatProjects

参考链接


Bash切换Zsh后,bashrc文件失效的解决方案

在macOS Catalina(10.15.5)上搭建Flutter开发环境

下载并安装目前最新的`Android Studio 4.0`,然后通过`Android Studio 4.0`安装`Android SDK`。

下载目前最新的`flutter`

$ cd ~

$ mkdir Android

$ cd Android

$ git clone -b stable https://github.com/flutter/flutter.git

配置环境变量

$ export PATH=/Users/`whoami`/Android/flutter/bin:$PATH

# android sdk目录,替换为你自己的即可,下面是Android Studio安装SDK的默认目录 
$ export ANDROID_HOME="/Users/`whoami`/Library/Android/sdk" 
  
$ export PATH=${PATH}:${ANDROID_HOME}/tools
  
$ export PATH=${PATH}:${ANDROID_HOME}/platform-tools
  
$ export PUB_HOSTED_URL=https://pub.flutter-io.cn
  
$ export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

上述环境变量,全部追加到 `.bashrc` 尾部

export PATH=/Users/`whoami`/Android/flutter/bin:$PATH
# android sdk目录,替换为你自己的即可,下面是Android Studio安装SDK的默认目录
export ANDROID_HOME="/Users/`whoami`/Library/Android/sdk"
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

如果不增加到`.bashrc` 尾部,则在 `Android Studio 4.0` 创建项目的时候,会非常慢,主要是网络问题。

必要的环境配置,依赖下载

#对于 macOS Catalina 10.15.5 来说,由于Shell被替换成了ZSH,因此环境变量需要重新配置一下

$ cp /etc/zprofile ~/.zprofile

$ chmod u+w ~/.zprofile

$ echo "source ~/.bashrc" >> .zprofile

$ flutter doctor

$ flutter doctor --android-licenses

$ sudo gem install cocoapods

# 杀掉全部的dart进程,否则可能导致长时间无法创建项目的问题
# 任何时候,flutter相关卡住,貌似都可以这样操作

$ killall -9 dart

继续阅读在macOS Catalina(10.15.5)上搭建Flutter开发环境