<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>numbers &amp;mdash; Paul Sutton</title>
    <link>https://personaljournal.ca/paulsutton/tag:numbers</link>
    <description>Personal Blog</description>
    <pubDate>Tue, 05 May 2026 15:01:52 +0000</pubDate>
    <item>
      <title>APG password generator</title>
      <link>https://personaljournal.ca/paulsutton/apg-password-generator</link>
      <description>&lt;![CDATA[APG password generator&#xA;&#xA;Debian comes with a useful command line utility called apg for generating passwords, based on criteria set when it is run.&#xA;&#xA;You may need to install with apt install apg&#xA;&#xA;Running just apg produces&#xA;&#xA;ag&#34;OnAub3 (ag-QUOTATIONMARK-On-Aub-THREE)&#xA;yissheav-Flas6 (yis-sheav-HYPHEN-Flas-SIX)&#xA;rekOfDot6ly (rek-UNDERSCORE-Of-Dot-SIX-ly)&#xA;yorthIs0Ot; (yorth-Is-ZERO-Ot-SEMICOLON)&#xA;NapOl{aj6 (Nap-Ol-LEFT_BRACE-aj-SIX)&#xA;9Knyhik. (NINE-Kny-hik-PERIOD)&#xA;&#xA;Where as using -m 16 produces a min length of 16 characters&#xA;&#xA;apg -m 16&#xA;&#xA;cryhejIryoatEpBi&#xA;DuVospewjopOtsye&#xA;veldIc@Ogguckeys&#xA;IalNexBeckOdjav1&#xA;drureroarAkucEdd&#xA;WinquivadLitsUk4&#xA;&#xA;As a good password should be made up of&#xA;Letters (upper and lower case)&#xA;Numbers (0-9)&#xA;Other characters ( !&#34;£$()%^&amp;* )&#xA;&#xA;Then you need to run something like&#xA;&#xA;apg  -M sncl -m 16 -n 5&#xA;&#xA;apg  -M sncl -m 16 -n 5 &#xA;EgUrr1slaibzydAr&#xA;IrgiOcyibgauvKan&#xA;jemUndafMinvieHo&#xA;Fliadweuldyeebup&#xA;enyaighKuedoobr3&#xA;&#xA;The program man page also gives more info and an example shell script to help with the process.&#xA;&#xA;man apg&#xA;&#xA;shell script&#xA;&#xA;[begin]----  pwgen.sh&#xA;       #!/bin/sh&#xA;       /usr/local/bin/apg -m 8 -x 12 -s&#xA;       [ end ]----  pwgen.sh&#xA;&#xA;#linux,#debian,#shell,#password,#generation,#security,#help,#scripts,#secure,#unix,#gpl,#fsf,#freesoftware,#manpage,&#xA;#manual,#web,#internet,#links,#letters,#numbers,&#xA;#alphanumeric,#specialcharacters&#xA;&#xA;a rel=&#34;license&#34; href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;img alt=&#34;Creative Commons Licence&#34; style=&#34;border-width:0&#34; src=&#34;https://i.creativecommons.org/l/by-sa/4.0/88x31.png&#34; //abr /This work is licensed under a a rel=&#34;license&#34; href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;Creative Commons Attribution-ShareAlike 4.0 International License/a&#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>APG password generator</p>

<p>Debian comes with a useful command line utility called apg for generating passwords, based on criteria set when it is run.</p>

<p>You may need to install with <strong>apt install apg</strong></p>

<p>Running just <strong>apg</strong> produces</p>

<pre><code>
ag&#34;OnAub3 (ag-QUOTATION_MARK-On-Aub-THREE)
yissheav-Flas6 (yis-sheav-HYPHEN-Flas-SIX)
rek_OfDot6ly (rek-UNDERSCORE-Of-Dot-SIX-ly)
yorthIs0Ot; (yorth-Is-ZERO-Ot-SEMICOLON)
NapOl{aj6 (Nap-Ol-LEFT_BRACE-aj-SIX)
9Knyhik. (NINE-Kny-hik-PERIOD)

</code></pre>

<p>Where as using -m 16 produces a min length of 16 characters</p>

<p><strong>apg -m 16</strong></p>

<pre><code>
cryhejIryoatEpBi
DuVospewjopOtsye
veldIc@Ogguckeys
IalNexBeckOdjav1
drureroarAkucEdd
WinquivadLitsUk4

</code></pre>

<p>As a good password should be made up of
Letters (upper and lower case)
Numbers (0-9)
Other characters ( !“£$()%^&amp;* )</p>

<p>Then you need to run something like</p>

<p><strong>apg  -M sncl -m 16 -n 5</strong></p>

<pre><code>apg  -M sncl -m 16 -n 5 
EgUrr1slaibzydAr
IrgiOcyibgauvKan
jemUndafMinvieHo
Fliadweuldyeebup
enyaighKuedoobr3

</code></pre>

<p>The program man page also gives more info and an example shell script to help with the process.</p>

<p><strong>man apg</strong></p>

<p>shell script</p>

<pre><code>[begin]----&gt; pwgen.sh
       #!/bin/sh
       /usr/local/bin/apg -m 8 -x 12 -s
       [ end ]----&gt; pwgen.sh
</code></pre>

<p><a href="/paulsutton/tag:linux" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">linux</span></a>,<a href="/paulsutton/tag:debian" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">debian</span></a>,<a href="/paulsutton/tag:shell" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">shell</span></a>,<a href="/paulsutton/tag:password" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">password</span></a>,<a href="/paulsutton/tag:generation" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">generation</span></a>,<a href="/paulsutton/tag:security" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">security</span></a>,<a href="/paulsutton/tag:help" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">help</span></a>,<a href="/paulsutton/tag:scripts" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">scripts</span></a>,<a href="/paulsutton/tag:secure" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">secure</span></a>,<a href="/paulsutton/tag:unix" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">unix</span></a>,<a href="/paulsutton/tag:gpl" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">gpl</span></a>,<a href="/paulsutton/tag:fsf" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">fsf</span></a>,<a href="/paulsutton/tag:freesoftware" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">freesoftware</span></a>,<a href="/paulsutton/tag:manpage" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">manpage</span></a>,
<a href="/paulsutton/tag:manual" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">manual</span></a>,<a href="/paulsutton/tag:web" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">web</span></a>,<a href="/paulsutton/tag:internet" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">internet</span></a>,<a href="/paulsutton/tag:links" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">links</span></a>,<a href="/paulsutton/tag:letters" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">letters</span></a>,<a href="/paulsutton/tag:numbers" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">numbers</span></a>,
<a href="/paulsutton/tag:alphanumeric" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">alphanumeric</span></a>,<a href="/paulsutton/tag:specialcharacters" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">specialcharacters</span></a></p>

<p><a href="http://creativecommons.org/licenses/by-sa/4.0/" rel="nofollow"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png"/></a><br/>This work is licensed under a <a href="http://creativecommons.org/licenses/by-sa/4.0/" rel="nofollow">Creative Commons Attribution-ShareAlike 4.0 International License</a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/apg-password-generator</guid>
      <pubDate>Fri, 11 Dec 2020 07:30:00 +0000</pubDate>
    </item>
  </channel>
</rss>