Search code examples
regexrsa

RSA modulus N regular expression


I need to make a pattern matching RSA modulus (n) which looks like this:

01sjBnlcardSsWRiEm9i4hZCn0iz12HypdP_1osRvD4O6__tl0qRlE9t1afTXzLDrFaySdQOVd8LGQWi1RixCnb01-7ypxvPDM4yM02haCgD5an9CUSulWUtsiUi01UCgvOYsKEfSBoDVx875G7ypUJx4SN7WnlIDJI2-fWkPwx-hVcDyP6Uzrf9vTsQrzZYAEkIjFcveG_6zwnQtj5K1fIJteZoLeNsTiGwSVJkg6QUkbfVgv5edjE9NTr8Z6jlfJR0q_N9mt3qzRh85ovTNLWoqN99Nbv_t5fq7he6fgM6mnT6PPfaR9auMvtv9kI_659NFKT7BXMD3nV3SjtkSuJFByeiSc5kjrbCGaZB5wgZghYKoQEImrVEotuOXBLVF3-Cw_Jzgcsi7cUfdEH98Ro8_uVJGDMBu0Dbd36d724S-42eh2t9qHor0WosSbCIkuKLVZiiyChRWQk9GelhQ3mSRXmyfVukfMlMpyR0Y3oT4OgQiVtPvONA11PySJpUBItd4xk5tobKE0LaG83bf85syq4PY_jBGVW8Dy-nAmJKcAQ-5UJkNlgzeUK_qbCzjZxrbPwnGm7Pl258a58FtCdFnJYNQjleCE_2YhXX-9iWBS_FycABUdM_tBk0m5NYOZ5JSvx8eQOxUmt7iISa0o24Pu1PNpB2EpANN7KPVZM

or one more example

4VUYy3BrKtcxndUwdAtBE-rqoxVcnceCd2vxvyDxgbNboGGC5cLBion6sM9aAWa1FLCIebN9dgXVnZokzS5KVtRO4BqUAo7u_8yBblSg_PyKqCNao_XGxHaclkuXm5_vFhRNxzk6sA54S2EWOB84Cj7z3EfZaEO2-YGJ7Nkso5ig4IExLnIco688iGTx3EX7sPpGwEfQebMOfDEtmPHpVkJhznad5IzlhEFjZY5tDDZPEIL6jeFbLAoFA6xy9FEp2xt3TDwa_w9cIqGnUVndUzfjXFykRREW88eMMqxuJYeQEAh3pw-huKlCWk78GxO1xoYaVMVeQyYp0r3Pz-FIvPs78KI2pkiT7zmx8viC46Mve2_FYymTGiK1XesoSwqIoANjCeJJV3wEV67nKb5j9uG4Mlhtta5aDbSkV4rYsJbG-A0Tcc5vSEJBwGDeZ_l7McbuWk31vaQcEWoGB3Ktc9Qnl-z4i_N__QcZ7ZEEg2nB797keEHpmuhqqgkUkoetBCxb15_Vfp85j6upACglIodTz60fjf8tZ2gQUwITHNFk2IAX3vcoJuNSblfZwXo-a5FFnY_mcbHmstXuvPu-9ZCC0-UsHX6LTPrt_IJUhKdnLKnvTEWII78VirWcpoYzOBK2EFIs64ELCYnM0szv-Qp4Zcurparp7nkqMpy2O1c

Needed to find it in text like

kty: "RSA",
        n: "01sjBnlcardSsWRiEm9i4hZCn0iz12HypdP_1osR..."

or

<n>01sjBnlcardSsWRiEm9i4hZCn0iz12HypdP_1osR...</n>

and so on.

I tried \S{683} but it's too large sample so I need exclude repetition of characters and have their mandatory diversity to escape matching with "aaaaaaaaaa..." or "0000000000..."

Please help if someone has it. Thanks!


Solution

  • If you want to match only when the entire string is exactly 683 characters and contains only valid base64 characters, use:

    ^[a-zA-Z0-9_\-=]{683}$