你或许是在夜深人静的夜晚时收到了这样一篇文章,因为人们总在夜深人静时寻找一种万能密码,可它几乎不会存在,因为它刚出世,就有人会为它宣告死亡。
我相信许多人在用PowerShell编写一个访问终端的交互脚本的时候,都通常会用到Read-Host结合AsSecureString参数,让用户输入密码。又或者运用Get-Credential把用户名和登陆凭据保存为一个变量对象,但很多时候又想让用户输入的这个密码对象重复使用,尤其当你写一个自动发送邮件的脚本的时候,一个重复的过程就是重复输入密码凭据是,一起看看在PowerShell中如何解决密码重用的办法。
为了方便大家更深入的理解,而不是简单的知道用什么代码去做,我画了一张代码解释流程图。
先大致说一下这个流程图的思路跟着我从上往下看:
最顶层的第一层你可以先简单的理解为是任意一个你所输入的密码对象。
到第二层,你需要将这个密码对象转换为一个System.Security.SecureString对象。
到第三层,你需要将System.Security.SecureString对象转换为Encrypted Standard String标准的加密字符串类型。
到第四层,最后一层我们把我们上一层得到的标准加密字符串保存起来就可以重复使用了。
接下来我会结合代码来解释上面提到的每一层细节如何操作。