Forum Discussion

VinNext's avatar
VinNext
New Contributor
3 months ago
Solved

MRC converter, two password field

Hi,

I try to import Enpass vault into 1password.

I exported my vauld in json.

Here is a reduce vault with only one item to explain my case :

{
    "items": [
        {
            "archived": 0,
            "auto_submit": 1,
            "category": "login",
            "category_name": "Login",
            "createdAt": 1738323975,
            "favorite": 0,
            "field_updated_at": 1744206448,
            "fields": [
                {
                    "deleted": 0,
                    "label": "Username",
                    "order": 1,
                    "sensitive": 0,
                    "type": "username",
                    "uid": 10,
                    "updated_at": 1738323975,
                    "value": "admin",
                    "value_updated_at": 1738323975
                },
                {
                    "deleted": 0,
                    "label": "Password",
                    "order": 3,
                    "sensitive": 1,
                    "type": "password",
                    "uid": 11,
                    "updated_at": 1738323975,
                    "value": "pwd1",
                    "value_updated_at": 1738323975
                },
                {
                    "deleted": 0,
                    "label": "Default password",
                    "order": 9,
                    "sensitive": 1,
                    "type": "password",
                    "uid": 9644,
                    "updated_at": 1739465563,
                    "value": "pwd2",
                    "value_updated_at": 1738323975
                }
            ],
            "icon": {
                "fav": "10.0.130.193",
                "image": {
                    "file": "misc/login"
                },
                "type": 1,
                "uuid": ""
            },
            "note": "",
            "subtitle": "admin",
            "template_type": "login.default",
            "title": "NomAppareil",
            "trashed": 0,
            "updated_at": 1756799186,
            "uuid": "82a46930-4dde-4c23-88bc-81c92d1adc2b"
        }
    ]
}

I have two password fields, one named "Password" and one named "Default password".
Both are password type.

I convert this json into 1pux file with command :

perl convert.pl -va enpass ..\pm_export.json

I get :

PK     ì“"[»"f_   _      export.attributes{
  "version" : 3,
  "description" : "1PUX (mrc_converter_suite)",
  "timestamp" : 1756830684
}PK     ì“"[               files/PK    lU"[S«·Ì-  †  $   files/m88xvp3drcvaxgng3iicffvvtf.pngµXgTSY׾ɤŠ4a†zIBŠ‘Þ¥J””K€T’ A@•¦(½HeT ÃH, ͱ`¡X@)*¨âÌ(¢_°Î7ëyçÏ{׺¹÷ìóìgïóì}ÏY+Y>Þ.Šrëä  Ptsuô“<Ó–oiÉïE;J¿ä!Ës
 €¼êò
Ê+×€ôÅè€`a°—'‰Æe£(t.D‰Ø<`ù²Y/âQhLP§‚ŒhŽ-bö§N<šn‹²ôÂxñÀ¨h×$>èŸä@KbÒˆtÄz;¸ˆ$!`ƒB
\Äfq$‘-â/Iò¾lF#à B¦-bÃò<ØËîÀåƒp+IÃ`0p+"ʏ©4Kª…‡ÁáÐK4†ˆÄH8K’¥%üÓ…äÓ#I~ŽÎŸÂIF¶ˆ(¡GB£P æ(.ŸÆ‰D4‡ÆáRÈRDHŽ@÷3ƒ#( ñ£yÂh.¾<¦P¹qB[âó*ؼ/´Á'¥$š¡E‹Â ÿôòúg(›ý-:Å ÿ-Häh?PÀãÓ@§x#Ôýì΋â
¹‚(îßäöeúÿeH§}Aóâø¬òÐih²%Ü ûË#9ðAАËàrYŸkåó™Ž3GYÀ¼(´hÎ²ÅøO. £ä¶E,×MR1$–€µ aÍIXK$ÆŠ„Á|„zIšNRþ˜KŽLü7P//’G ¤ph ›£-BbAEGÓI"G¤Ò1H‚e$iAµ°BR‰x¬dheN¥q ùÙß‘K‹[ÖbÙÿcïÒ¹4 Ç=ITfneN7GFâ±t$–bGRˆx‰!#)4 sЊþ…m#?ZòùPXf]Ί.aŒ4§H$YY`0–H ÅI!Dx"…€3·¤c%að¯q¸,._¢…DsœN#ErùlФƒ¢ÙˆæqËýü1®k´@R¼ÄOýíÆ~zcEÃ?´‰B[îv[íCÍèˆOæèÿ Þ¿Ëó£BÈùÇ"}„ ¸‘Â
ÜÀhò/Ú ýwé (ñÿœü¿+ýÿ4ùOn´(
‡JvPô‡å ¿ýך}­y (zRA¾à“öÆW-¾â>`¼)lIox!þj_&Y¶£ÿ‹§Ãßx:üWOÿ¿ñôÿºÔ‰£ÿfiè¿lßM’½ýƒ@ŸÏÉàËÉr$bò%çÎÕ5~ó’s-ÚÍqC€häY8s÷Ö.õÑÇk”6$«QYAãª&úx'ì$“Ù„8wŠ-Þ~<b•‚âÒÁ¨ëÅzëBy)Kð&ê%Ã׫T÷“ÏžÎ^*:ˆïu®]ÇÔzTrà|ïÓ²mŒ©+K£Ö{¿éD÷¾›y;u™È¸R¦AÍUTŸÈ ØúT¸Ç”À™ þuN¡¿ÇmÏ=­Ebýðï8ä;öé?*Ø­ŽvY:¦Ô¡ ª†±aú…mhÚ̍¿emÛâÑõ³<D:—F@=¥Wkí
IàÛ|S5IceHˆ¶¨s#¥èÞC
4
&“áOx>!ªî2|?u&c|ÂH¨ìŸ3ê.1ÛþÚ¯£ÿl&ð*¸gξûeRÅ» ‘{äå!‘4H·@k´eAʱtÕl¥-dŠŸ«E}Ý«3÷\ Ðu6õlÙSÁG -Âcj?_Ý_ÒÞƒ_úz0§©,¨ŸkW“åÙt«:uÞž'tÇ6¬Š(vП1l|.ü&ì§þó†þTbñ%÷´õ¼äpáZ½°"z×´z{rre^nî kÅ“ý%'3V(­.j—W¡§f§ÂíÞ¶üÿL¹ëhéúT»Šòr“W–)@a§›±s{srL2óÊÃËÓóøõë×u7b/ØÞ
‚æ6l<Kë^© <åÙ^+Ú'Ý®M7=Ó„<¿Q½JªŒLZÅ->¿ï°tõ|þDRì»ÑE™LÊ0‰0¶—Sc#Âo{%ƾM„_P0MlGÒ¸]ÔÂ{p!bë!ÎHÈY>˜­óp³ ÏàhÏÌ ,Í<r]íñÕ:0z#p-­yÊ܏eí¿sÌs¶¼Ð3ÏϨ¾Á!j\ dí¬±Îô–vN3<ZµSrëµU«ºx‰ŒÐ„~ß‚·-œÛ <&]}68oñ4kX妜¬¡êD@á‘°Q<Ä›±zæuáö³úz´Ü"Ù¨L¡O¬ä³”žÈV7îw©Þ«üη¬}•rºñӁí¤fëÌ§Á[X9@ç+ËÞz=PЬ°¹Ö,ãfÕ+Vª™øåŒ°¨Æ›®(œcÆHAŸÜÞ‰ _ØSSh«µ^Æ-
[òÓŒÆú+¬gñº7Õ~{Bùn2ÿÔ¾Ïks3bâåÇ/v5ùg7õß©Øí œ×ggpEî
Òbì‚‹O6cÏöïþíÔõ‰Ÿÿ.ã\–ùÒ]AY”{Z5®;Ù7q»LØ'Wú0.Æq0D£/¨ÇñÚÎxŠ*´c"É¥Ïü˜Ç‹Rj¢IXÝ…s¤ï%ƒºÆC¿žƒIK´`úÕ
;lÞ ñ
bPŽ0«ä7%kCE]î¡§Üœ7ª}ìb‘±_û„¦J~l´²ÏÆ:>NàBR*­ý‡·êÌ\¤Ïïº¬‹Jex%³|§UøeZ6ù=ø§'ã<UÍV6X³eÓ¦ï+%ÏXL5›<™·=dÓiìàz¤uK¨™ŠlÚRrLö˜‡Q2´jLyô¨ßË2æL9p [/`CÌΖ{€¡Ç¼½ #YÁwçtÒŒï2ž÷?ÔçcG‰,>¹Óøî|Þi/©ªsÑa&6¿­©é; œèÓQEÕ¿jµýj+*m` ¬”Åû.¿ÙNï«eµìvð25ÝÔD°W°±šÔÝ0}i÷ü©,`¨¸íº]Já0g~nÁ÷ŽÞ6†fø÷ ÖI&׿ÜÔ ÍÑI“ø‘­œÑö8&XgҌ޷Á¿—kµ0)À¶eìr=‹7~xIà{NccÃR0Ä‚;=¢L‚½”Ç~5²(B ž»"Ûr†ó7†f~[é”?¬Ô; ð¦^?ètß_í¾®ôé
Yžó
Ór™k™Ã7‹ö¾Ö¼ºaVX¼þ¼M´³ô‡8Á®lÍÃÉ!Kª&þe»ßºë‹ÙµÍrˆˆÖ8lhMTÊp0riÇźËÔwi Ó·J÷ÝB®:¦¡ž&S¶°¢”žçžöˆšª™²}c‡<¡‡Õ ±í2÷ u¾²‡¼%HöÅɐ1‹‹F÷ÓWáÞœ,Øõì~³ºtÆœõVAç† ä\öœâýñKV©2ÆÕGa»ýXñc?ãXUòÆiµ—³Ó׃øÄɉœ#È1s
¢÷ï¼Çî=zïÙß‘‘™îŸ ÷úfÕ<;Ñý>¸Òâ¥/~yÂ6åÉB´™ RúGt@_vBϹb´
q_ûŸÓ .ß¡:4iRcfÁê†ä½msOÓv±JW~•®ž^³‹Œvʯ;pÞ¾8S)Ô³Â]‘¤q³uàŒ.Qloµs¡KiíÍ$ ÛëU›L0$8CfB1 PN+—–¦lÇ^ˆ+PÂYÜKöÛÐo –¯1;ta±©V†ÇÎm6¥FHÆjÙ5#=)+»v¶Ô†
GÒÌlV(ŽE²[w%è ÉQ…®ŠBºõh¼åAkóÖ“èÚñ‚2JÆîT§²œ§_ø&WËHað°sǏ½%ƒ5·›eßéè2‰— QgnªË†ùQÖþXçz¥3P.lÐ|—vnæoÐSi?¦ð(#vÆfêæjµ¨Åës |™;£ä†@AÊ­ _«NðôÄBCË™l »E†ùðQŸ‹lœî¹µ‡ïY—;ôWl¾]÷¶“_AC›Aæ¾Íkœ¸Ap!™cÆH¶!G’¾yª–Dôp}ñ`²ƒÃ<Ñó}TæÈNa½ªe`ÛH\Gigõ’ö¦Cx
µááKÚ2÷BÙkR|cÛJ´œ¿™€ÝõêM«Zá</¼8ø’=±2˱úÆ>lªic}W!ãñ ›_l®(ðíp(ÔÕ˜¹f?_ŸEÞµs•6¾9]…<õ@ÿ DC:~¨u^ŽÉãŒ]ÍigÈ>) å/ª(•©KUfŠ„Osœ&[«‡
*B«Pø“ cEu·–ÒÞ+×=™z%mR)íùYGÈóm×ÂóÇǵQ1ñWÕÅö4¿_q|¥fpÍøxúY­jõ6üI•µ÷Ü[YßÚ©“䝁ˆ_šÈb&T6G¥utxúV& .>xj{pVvW}P¸pÚ°PÕ2j\WY*ç«8³r1sO¨®8ƒv’6Z ;ÓXmªP1aÍéåP™]/ŒµÃߨŒ‰ö$ä$µûÚÅ&ß?t­W,˜E(ÏbF°ê•«– /z¯Ìߢ©BÎ‰? \&[5ÖmrÊß÷NßK8Tñš/º\ËÜrÏá—«ÂŽa1ö›+¦Ñ0HÚúGd MÅ(àºáåÄ¢‡¦íùßÉÔþäðõÞi>wÛ„u~T:|:FîzRg¬JÞ:)ˆ&ÝŸRÔóéHHã¸Ú2p·ü&ý#rý¿€[;åÂS‰Û߆g>œì©VõcÔÊæwlôytx±µ*ä;ßÔTÍö˜@¬M|Wm¢\ƒ=ÅíÀ¨Åß(®ÑxRÉs®lÛ:ÏŸG^Ï Ä×ë%:Üô½®L‰~˜ø­ô£oÞE5xPSyWÔ|+—Óy æS²¿ÿ͆¶^íoyK{c.M«}ç× Ì¦v1yc‹Æca·‹¾k×KkÂß/äŸ Ö=R¼Ü’du­Iœ“*v17¹k~4jèò>@e=Íü×ÜQƒÆ?Jˆ¨éV³š½í"cîú
‚2pv¨û
£í’° &çã-±ÏCjE¿ù/¾Í[ôâŠæpø“™áÕ¿cïšVÍáV‹n¡ +B¨¦?ݲuÅÒ¶ŒöÎå‹êi´Å*¬
¹[iøò¦ß ³cÚZlNW:ó}øÝ™ÐØÙ#[å`5õ9”=G †¹“a²áAOYó¼Õ³©J9©wLßMyÍU¼z¸Î£Ë²`q‹±J2
)7ܧl$u~ùŸ"7'oÇfûˆÿPK     ì“"[±É²E,
  ,
     export.data{
  "accounts" : [
    {
      "attrs" : {
        "accountName" : "",
        "name" : "",
        "email" : "",
        "avatar" : "",
        "domain" : "",
        "uuid" : ""
      },
      "vaults" : [
        {
          "items" : [
            {
              "updatedAt" : 1756799186,
              "state" : "active",
              "uuid" : "pczxturwyzr51leu0ygnwj2vj0",
              "details" : {
                "sections" : [
                  {
                    "title" : "Original Fields",
                    "fields" : [
                      {
                        "guarded" : false,
                        "dontGenerate" : false,
                        "id" : "_login_custom_1",
                        "title" : "default password",
                        "inputTraits" : {
                          "correction" : "no",
                          "keyboard" : "default",
                          "capitalization" : "sentences"
                        },
                        "value" : {
                          "string" : "pwd2"
                        },
                        "multiline" : true
                      }
                    ],
                    "name" : "origfields"
                  }
                ],
                "loginFields" : [
                  {
                    "name" : "password",
                    "designation" : "password",
                    "id" : "",
                    "value" : "pwd1",
                    "fieldType" : "P"
                  },
                  {
                    "name" : "username",
                    "designation" : "username",
                    "id" : "",
                    "value" : "admin",
                    "fieldType" : "T"
                  }
                ],
                "passwordHistory" : []
              },
              "overview" : {
                "title" : "NomAppareil",
                "subtitle" : "",
                "icons" : null,
                "tags" : [
                  "Enpass Category/login"
                ],
                "watchtowerExclusions" : null,
                "url" : ""
              },
              "createdAt" : 1756830684,
              "favIndex" : 0,
              "categoryUuid" : "001"
            }
          ],
          "attrs" : {
            "desc" : "Created by the enpass converter in the MrC Converter Suite on Tue Sep  2 18:31:24 2025",
            "name" : "M_C_S",
            "avatar" : "m88xvp3drcvaxgng3iicffvvtf.png",
            "type" : "U",
            "uuid" : ""
          }
        }
      ]
    }
  ]
}PK     ì“"[»"f_   _              ¶    export.attributesPK     ì“"[                      íAŽ   files/PK    lU"[S«·Ì-  †  $           ¶²   files/m88xvp3drcvaxgng3iicffvvtf.pngPK     ì“"[±É²E,
  ,
             ¶!  export.dataPK      þ   v    
 
 
The second password (Default password) is ientified as a simple text field.
If I use the command
perl convert.pl -v enpass ..\pm_export.json
The Default password is put into a note.
 
How could I have the second password in a password field?
 
Thanks!
  • VinNext​ .

    I'm sorry, I didn't see your post here.  This new forum software is very ineffective and cumbersome.

    I replied to your email, and provided you a customized converter.  Feel free to reply here or via email.

    MrC

2 Replies

  • MrC's avatar
    MrC
    Super Contributor

    VinNext​ .

    I'm sorry, I didn't see your post here.  This new forum software is very ineffective and cumbersome.

    I replied to your email, and provided you a customized converter.  Feel free to reply here or via email.

    MrC

    • VinNext's avatar
      VinNext
      New Contributor

      Hi,

      Indeed! Thanks for your help!

      Here is solution fromMrC:

      Here is the added line:
      [ '_defpassword',   3, qr/^default password$/i, { $G->custom_field(concealed => 'sn_main', 'Default password', 'pass') } ],

      From what I understood:
      _defpassword needs to be unique to each new entry, chose your own for the nexts
      qr/^default password$/i is the rexgex to check field name from Enpass
      'Default password' is the name you will find in 1password
      Use consealed and 'pass' for passwords and string and remose 'pass' for text field

      This will only works for login template :
      "template_type": "login.default",

      Put line in other template if needed