{"id":21780,"date":"2026-08-04T11:10:40","date_gmt":"2026-08-04T11:10:40","guid":{"rendered":"https:\/\/tenthplanet.in\/idempiere\/?p=21780"},"modified":"2026-08-13T04:50:10","modified_gmt":"2026-08-13T04:50:10","slug":"how-to-convert-passwords-to-hashes-in-idempiere","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/idempiere\/how-to-convert-passwords-to-hashes-in-idempiere\/","title":{"rendered":"How to Convert Passwords to Hashes in iDempiere"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The Convert Passwords to Hashes process in iDempiere converts plain text or encrypted user passwords into one-way salted hashes. This ensures stored passwords cannot be recovered, protecting transaction and customer data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Business Rules<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Passwords already hashed cannot be re-hashed; the process blocks if hashing is already enabled.<\/li>\n\n\n\n<li>Only user records with a password and no salt value are updated by the process.<\/li>\n\n\n\n<li>Password Hash Algorithm is a mandatory field before the process can run.<\/li>\n\n\n\n<li>Only supported algorithms \u2014 Argon2, PBKDF2, SHA-512 \u2014 can be selected.<\/li>\n\n\n\n<li>Encrypted passwords remain encrypted after the hash is applied on top.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Process Flow<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"344\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-ConvertPasswordToHash-1024x344.png\" alt=\"\" class=\"wp-image-21785\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-ConvertPasswordToHash-1024x344.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-ConvertPasswordToHash-300x101.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-ConvertPasswordToHash-768x258.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-ConvertPasswordToHash.png 1522w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Prerequisites<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>System Administrator role access to the client.<\/li>\n\n\n\n<li>Existing AD_User records with passwords already configured.<\/li>\n\n\n\n<li>Full database backup completed before running the process.<\/li>\n\n\n\n<li>Approved password hash algorithm identified (Argon2, PBKDF2, or SHA-512).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Navigation<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Menu \u2192 General Rules \u2192 Security \u2192 Convert Passwords to Hashes<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Configuration Steps<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 1: Select Password Hash Algorithm<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the Password Hash Algorithm field and choose Argon2, PBKDF2, or SHA-512 based on your organization&#8217;s security policy.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><td><strong>Field<\/strong><\/td><td><strong>Sample Value<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Password Hash Algorithm<\/td><td>SHA-512<\/td><td>Algorithm used to hash existing user passwords<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"320\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-1-1024x320.png\" alt=\"\" class=\"wp-image-21784\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-1-1024x320.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-1-300x94.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-1-768x240.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-1-1536x480.png 1536w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-1-2048x640.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"320\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-2-1024x320.png\" alt=\"\" class=\"wp-image-21783\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-2-1024x320.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-2-300x94.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-2-768x240.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-2-1536x480.png 1536w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-ConvertPasswordHashes-2-2048x640.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Run the Process<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Click OK to execute the process. Confirm the dialog to begin converting eligible user passwords to the selected hash format.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Verify Migration Results<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Review the returned message showing the count of updated users. Investigate a zero-count result or any error before treating staff accounts as secured.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Common Issues and Resolutions<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><td><strong>Issue<\/strong><\/td><td><strong>Cause<\/strong><\/td><td><strong>Resolution<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Process fails to start<\/td><td>Password Hash Algorithm field left blank<\/td><td>Select a valid algorithm before clicking OK<\/td><\/tr><tr><td>&#8220;Unsupported hash algorithm&#8221; error<\/td><td>Invalid or unsupported algorithm value used<\/td><td>Choose only Argon2, PBKDF2, or SHA-512 from the list<\/td><\/tr><tr><td>Zero users updated<\/td><td>All users already have a Salt value set<\/td><td>Confirm via AD_User; re-running is not required<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Next Steps<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Configure the User (AD_User) window for retail store staff accounts.<\/li>\n\n\n\n<li>Review Role and Client security settings used by POS terminals.<\/li>\n\n\n\n<li>Set up System Configurator entries to enforce password policy.<\/li>\n\n\n\n<li>Audit user login history for suspicious activity after migration.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note: <\/strong>Run this process only once per client. Re-running after passwords are already hashed will raise an error by design.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Convert Passwords to Hashes process in iDempiere converts plain text or encrypted user passwords into one-way salted hashes. This [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,91],"tags":[],"class_list":["post-21780","post","type-post","status-publish","format-standard","hentry","category-idempiere-product","category-idempiere-general-rules"],"_links":{"self":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/21780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/comments?post=21780"}],"version-history":[{"count":4,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/21780\/revisions"}],"predecessor-version":[{"id":22075,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/21780\/revisions\/22075"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/media?parent=21780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/categories?post=21780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/tags?post=21780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}