<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Password type encryption algorithm in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373385#M136114</link>
    <description>&lt;P&gt;Thank you but I've checked in the code window, the password encryption is made in PasswordEncryptUtil and the encryption is in org.talend.daikon.crypto.Encryption which is a jar and code is not accessible tho. &lt;/P&gt;</description>
    <pubDate>Fri, 29 Oct 2021 10:11:39 GMT</pubDate>
    <dc:creator>qwer1</dc:creator>
    <dc:date>2021-10-29T10:11:39Z</dc:date>
    <item>
      <title>Password type encryption algorithm</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373381#M136110</link>
      <description>&lt;P&gt;Hello Talend,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a project using Talend Open Studio for Data Integration 7.3.1 where passwords are set in context variables set to type 'Password'. When the project is compiled, the password is encrypted in Default.properties. &lt;/P&gt;&lt;P&gt;Eg: test123 = enc:routine.encryption.key.v1:Rw3boZGBT70t41tOiemDr8bsVMaFN54USSxasXSvxKpVPQs=&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What algorithm and key strength are used for this encryption? Is it AES-256 or something else?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Nov 2024 23:34:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373381#M136110</guid>
      <dc:creator>qwer1</dc:creator>
      <dc:date>2024-11-15T23:34:39Z</dc:date>
    </item>
    <item>
      <title>Re: Password type encryption algorithm</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373382#M136111</link>
      <description>&lt;P&gt;Two encryption keys are now used by&amp;nbsp;Talend Studio,&amp;nbsp;Talend Administration Center&amp;nbsp;and&amp;nbsp;Talend&amp;nbsp;components to encrypt passwords.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;system.encryption.key&lt;/LI&gt;&lt;LI&gt;: for encrypting properties and nexus passwords.&lt;/LI&gt;&lt;LI&gt;routine.encryption.key&lt;/LI&gt;&lt;LI&gt;: for encrypting passwords of generated Jobs.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The default values of these two keys&amp;nbsp;system.encryption.key.v1&amp;nbsp;and&amp;nbsp;routine.encryption.key.v1&amp;nbsp;are stored in the encryption key configuration file&amp;nbsp;/configuration/studio.keys, which is created under the installation directory of your&amp;nbsp;Talend Studio&amp;nbsp;after you run the&amp;nbsp;Talend Studio&amp;nbsp;executable file&amp;nbsp;Talend-Studio-linux-gtk-x86_64&amp;nbsp;for the first time. Below is an example of the newly created&amp;nbsp;studio.keys&amp;nbsp;file.&lt;/P&gt;&lt;P&gt;system.encryption.key.v1=ObIr3Je6QcJuxJEwErWaFWIxBzEjxIlBrtCPilSByJI\=&lt;/P&gt;&lt;P&gt;routine.encryption.key.v1=YBoRMn8gwD1Kt3CcowOiGeoxRbC2eNNVm7Id6vA3hrk\=&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;in the class that encrypt password we can found the following import :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;import java.security.SecureRandom;&lt;/P&gt;&lt;P&gt;import javax.crypto.Cipher;&lt;/P&gt;&lt;P&gt;import javax.crypto.SecretKey;&lt;/P&gt;&lt;P&gt;import javax.crypto.SecretKeyFactory;&lt;/P&gt;&lt;P&gt;import javax.crypto.spec.DESKeySpec;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So it seems to use DES for encryption&lt;/P&gt;&lt;P&gt;we could see it in the code :&lt;/P&gt;&lt;P&gt;Cipher.getInstance("DES")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DES is a block cipher and encrypts data in blocks of size of 64 bit each, means 64 bits of plain text goes as the input to DES, which produces 64 bits of cipher text. The same algorithm and key are used for encryption and decryption, with minor differences. The key length is 56 bits. &lt;/P&gt;</description>
      <pubDate>Fri, 29 Oct 2021 07:44:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373382#M136111</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-10-29T07:44:04Z</dc:date>
    </item>
    <item>
      <title>Re: Password type encryption algorithm</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373383#M136112</link>
      <description>&lt;P&gt;Thank you for your reply!&lt;/P&gt;&lt;P&gt;May I know exactly where did you find the imports? I can't seem to find them.&lt;/P&gt;</description>
      <pubDate>Fri, 29 Oct 2021 08:49:06 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373383#M136112</guid>
      <dc:creator>qwer1</dc:creator>
      <dc:date>2021-10-29T08:49:06Z</dc:date>
    </item>
    <item>
      <title>Re: Password type encryption algorithm</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373384#M136113</link>
      <description>&lt;P&gt;You have to look in the code window, and you can use ctrl+f to search encrypt &lt;/P&gt;&lt;P&gt;then you right click on the encrypt function and select open declaration&lt;/P&gt;&lt;P&gt;Send me love and kudos&lt;/P&gt;</description>
      <pubDate>Fri, 29 Oct 2021 09:22:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373384#M136113</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-10-29T09:22:20Z</dc:date>
    </item>
    <item>
      <title>Re: Password type encryption algorithm</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373385#M136114</link>
      <description>&lt;P&gt;Thank you but I've checked in the code window, the password encryption is made in PasswordEncryptUtil and the encryption is in org.talend.daikon.crypto.Encryption which is a jar and code is not accessible tho. &lt;/P&gt;</description>
      <pubDate>Fri, 29 Oct 2021 10:11:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373385#M136114</guid>
      <dc:creator>qwer1</dc:creator>
      <dc:date>2021-10-29T10:11:39Z</dc:date>
    </item>
    <item>
      <title>Re: Password type encryption algorithm</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373386#M136115</link>
      <description>&lt;P&gt;&lt;A href="https://github.com/Talend/daikon/blob/master/daikon-crypto/crypto-utils/src/main/java/org/talend/daikon/crypto/Encryption.java" alt="https://github.com/Talend/daikon/blob/master/daikon-crypto/crypto-utils/src/main/java/org/talend/daikon/crypto/Encryption.java" target="_blank"&gt;https://github.com/Talend/daikon/blob/master/daikon-crypto/crypto-utils/src/main/java/org/talend/daikon/crypto/Encryption.java&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/Talend/daikon/blob/master/daikon-crypto/crypto-utils/src/main/java/org/talend/daikon/crypto/CipherSources.java" alt="https://github.com/Talend/daikon/blob/master/daikon-crypto/crypto-utils/src/main/java/org/talend/daikon/crypto/CipherSources.java" target="_blank"&gt;https://github.com/Talend/daikon/blob/master/daikon-crypto/crypto-utils/src/main/java/org/talend/daikon/crypto/CipherSources.java&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;publicstaticCipherSourceaesGcm(intivLength, inttagLength, Providerp) { if (Stream.of(16, 15, 14, 13, 12).noneMatch(i -&amp;gt; i == tagLength)) { thrownewIllegalArgumentException("Invalid authentication tag length"); } returnnewSymmetricKeyCipherSource(ivLength) { @OverrideprotectedCipherget(KeySourcesource, intencryptMode, byte[] iv) throwsException { finalCipher c = p !=null?Cipher.getInstance("AES/GCM/NoPadding", p) :Cipher.getInstance("AES/GCM/NoPadding"); finalbyte[] sourceKey = source.getKey(); finalKey key =newSecretKeySpec(sourceKey, "AES"); finalGCMParameterSpec spec =newGCMParameterSpec(tagLength *8, iv); c.init(encryptMode, key, spec); return c; } };&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;in Talend code we can see that default cypher is used so we could deduce it's &lt;B&gt;AES&lt;/B&gt;-&lt;B&gt;GCM&lt;/B&gt;&amp;nbsp;algorithm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Oct 2021 12:28:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Password-type-encryption-algorithm/m-p/2373386#M136115</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-10-29T12:28:42Z</dc:date>
    </item>
  </channel>
</rss>

