<div dir="ltr">Quite awhile ago I proposed strengthening create-random-string with something that required cl-ssl as a dependency and it was correctly pointed out that some implementations do not play well with cl-ssl. Would using the strong-random function from ironclad be acceptable? E.g.<div>
<br></div><pre><div class="" id="LC49"><span class="" style="font-family:arial">(</span><span class="" style="font-family:arial">defun</span><span style="font-family:arial"> </span><span class="" style="font-family:arial">create-random-string</span><span style="font-family:arial"> </span><span class="" style="font-family:arial">(</span><span class="" style="font-family:arial">&optional</span><span style="font-family:arial"> </span><span class="" style="font-family:arial">(</span><span class="" style="font-family:arial">n</span><span style="font-family:arial"> </span><span class="" style="font-family:arial">10</span><span class="" style="font-family:arial">)</span><span style="font-family:arial"> </span><span class="" style="font-family:arial">(</span><span class="" style="font-family:arial">base</span><span style="font-family:arial"> </span><span class="" style="font-family:arial">16</span><span class="" style="font-family:arial">))</span><br>
</div><div class="" id="LC52"> <span class="">"Creates a random string using ironclad's strong-random function with base BASE and N digits"</span></div><div class="" id="LC52"><span class=""><span class=""> (</span><span class="">setf</span> <span class="">crypto:*prng*</span> <span class="">(</span><span class="">crypto:make-prng</span> <span class="">:fortuna</span><span class="">))</span><br>
</span></div><div class="" id="LC53"> <span class="">(</span><span class="">subseq</span> <span class="">(</span><span class="">with-output-to-string</span> <span class="">(</span><span class="">s</span><span class="">)</span></div>
<div class="" id="LC54"> <span class="">(</span><span class="">loop</span> <span class="">for</span> <span class="">i</span> <span class="">to</span> <span class="">n</span> <span class="">do</span></div><div class="" id="LC55">
<span class="">(</span><span class="">format</span> <span class="">s</span> <span class="">"~VR"</span> <span class="">base</span></div><div class="" id="LC56"> <span class="">(</span><span class="">ironclad:strong-random</span> <span class="">100000000000</span><span class="">))))</span></div>
<div class="" id="LC57"> <span class="">0</span> <span class="">n</span><span style="font-family:arial">)) </span></div><div class="" id="LC57"><span style="font-family:arial"><br></span></div><div class="" id="LC57">
<span style="font-family:arial">Sabra</span></div></pre></div>