<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Qrcode on Karpoke - Just Another Blog</title><link>http://karpoke.ignaciocano.com/tags/qrcode/</link><description>Recent content in Qrcode on Karpoke - Just Another Blog</description><generator>Hugo -- 0.159.0</generator><language>es</language><lastBuildDate>Fri, 05 Aug 2011 02:21:00 +0100</lastBuildDate><atom:link href="http://karpoke.ignaciocano.com/tags/qrcode/index.xml" rel="self" type="application/rss+xml"/><item><title>Servicio de SSH con sistema de verificación en dos pasos de Google en Ubuntu Natty Narwhal</title><link>http://karpoke.ignaciocano.com/2011/08/05/servicio-de-ssh-con-sistema-de-verificacion-en-dos-pasos-de-google-en-ubuntu-natty-narwhal/</link><pubDate>Fri, 05 Aug 2011 02:21:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/08/05/servicio-de-ssh-con-sistema-de-verificacion-en-dos-pasos-de-google-en-ubuntu-natty-narwhal/</guid><description>&lt;p&gt;Un sistema de verificación en dos pasos, (&lt;em&gt;Two Factor Authentication&lt;/em&gt; o
2FA) consiste en que la autenticación a un servicio se realiza mediante
dos piezas de información, una que conocemos y otra que no. La pieza que
conocemos es nuestra contraseña, que es susceptible de ser sustraída,
mientras que la información que no conocemos es un número de
identificación (PIN) aleatorio que cambia cada 30 segundos y que está
vinculado con un dispositivo hardware. Esto es lo que se conoce como una
contraseña de un solo uso (One Time Password u OTP). De esta forma,
aunque alguien nos robe o averigüe nuestra contraseña, a no ser que
también tenga acceso al dispositivo que crea los PINs, no podrá acceder
al servicio con nuestra cuenta.&lt;/p&gt;</description></item><item><title>Creando y leyendo códigos QR desde Python</title><link>http://karpoke.ignaciocano.com/2011/03/27/creando-y-leyendo-codigos-qr-desde-python/</link><pubDate>Sun, 27 Mar 2011 19:46:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/03/27/creando-y-leyendo-codigos-qr-desde-python/</guid><description>&lt;p&gt;Un código QR (Quick Response Barcode) permite almacenar información en
un código de barras de dos dimensiones.&lt;/p&gt;
&lt;p&gt;&lt;img alt="cc.qr.code.capacity`" loading="lazy" src="http://karpoke.ignaciocano.com/images/cc.qr_.code_.capacity-300x166.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Hay bastantes servicios en la web que nos permiten crear nuestros
propios códigos, por ejemplo &lt;a href="http://code.google.com/apis/chart/infographics/docs/qr_codes.html"&gt;el de Google&lt;/a&gt;, que podemos emplear desde
la línea de comandos:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ curl http://chart.apis.google.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chld=H|0&amp;amp;chl=texto -o qr.png
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="QR Code Python" loading="lazy" src="http://karpoke.ignaciocano.com/images/qrcode-python.png"&gt;&lt;/p&gt;
&lt;p&gt;Un pequeño alias para tenerlo siempre a mano:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ alias qrurl=&amp;#39;qrurl() { curl http://chart.apis.google.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chld=H|0&amp;amp;chl=${@// /%20} -o qr.$(date +%Y%m%d%H%M%S).png; }; qrurl&amp;#39;
$ qrurl una ranita iba caminando
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Esto creará un fichero con un nombre parecido a &lt;code&gt;qr.20110325161706.png&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>