What is the difference between Password and Obscure type in Magento 2?

Password and Obscure both field are the element types used for System.xml file.

1.  Obscure:  You can define Obscure type using type=”obscure”. Hide value to make sure it will not show in HTML.

When you forcefully change the type from Obscure to text using Inspect element still you can’t able to see actual value for an obscure type.

Using Obscure field type you can’t check the field original value by Edit Inspect element from Backend configuration and set the type=”password” to type=”text”. You got the value of the field as ‘******’.

Obscured Value display as ‘******’ in a field.

<field id="login" translate="label" type="obscure" sortOrder="40" showInDefault="1" showInWebsite="1" showInStore="0">

You can check the Magento\Framework\Data\Form\Element\Obscure class. The obscure class is used for define the logic of obscure type.

An obscure field used for security purpose for all the field which have secure data like Payment API Key, API Username, API Password.

2. Password: Password is a field with type=”password”. Its used for only hide character from the field.

<field id="login" translate="label" type="password" sortOrder="40" showInDefault="1" showInWebsite="1" showInStore="0">

Magento\Framework\Data\Form\Element\Password used for Password field.

Using the password field type, you can check the field value by Edit Inspect element from Backend configuration and set the type=”password” to type=”text”. You got the actual value of the field.