如何在Katalon中使用脚本模式对密码文本输入进行加密?

时间:2018-09-18 21:47:58

标签: groovy password-encryption katalon-studio

我有一个csv,其中包含需要检查登录名的用户和密码列表。

  

是否有任何方法可以在脚本中使用脚本模式加密密码文本输入   卡塔隆?

我在katalon forums上找到了答案,但他们使用IDE的工具手动完成了此任务,就像您在此处Working with Sensitive Text

我想创建一个脚本,为每个(user,password)加密密码并使用加密密码登录。

@Keyword
    def  login(user, password, url){

        WebUI.navigateToUrl(url)

        WebUI.setText(findTestObject('Object Repository/Page_Sign in  My Page/input_SigninFormemail'),user)
        def password_encript = Encrypt(password)// Fictitious method that I would like to get

        WebUI.setEncryptedText(findTestObject('Object Repository/Page_Sign in  My Page/input_SigninFormpassword'), password_encript)

        WebUI.click(findTestObject('Object Repository/Page_Sign in  My Page/input_yt0'))

    }

在Katalon中是否有类似Encrypt(password)的方法? 有没有办法在代码中做到这一点?

谢谢。

2 个答案:

答案 0 :(得分:1)

我在调查其他Katalon加密问题时遇到了这个问题,并认为我可能会提供一些较晚的见识。

“ setEncryptedText(TestObject,encryptionText)”方法允许您以加密形式存储敏感文本,然后在输入Web应用程序时将其解密。

由于您的方法是以明文字符串形式通过字符串“ password”传递的,那么为什么不让函数这样做:

WebUI.setText(findTestObject('Object Repository/Page_Sign in  My Page/input_SigninFormpassword'), password)

答案 1 :(得分:0)

因此要使用Java加密:带有文本和密钥的河豚。 这是我的解决方案:

public static String encrypt(String strClearText,String strKey) throws Exception{
String strData="";

// streData-在这里放置数据

try {
    SecretKeySpec skeyspec=new SecretKeySpec(strKey.getBytes(),"Blowfish");
    Cipher cipher=Cipher.getInstance("Blowfish");
    cipher.init(Cipher.ENCRYPT_MODE, skeyspec);
    byte[] encrypted=cipher.doFinal(strClearText.getBytes());
    strData=new String(encrypted);

} catch (Exception e) {
    e.printStackTrace();
    throw new Exception(e);
}
return strData;

}