<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>emre şahin's digital garden 🍃 - Security</title>
    <link>https://emresahin.net/categories/security/</link>
    <description>Posts in the Security category</description>
    <language>en</language>
    <managingEditor>contact@emresahin.net (Emre Şahin)</managingEditor>
    <lastBuildDate>Tue, 15 Sep 2026 19:46:32 +0000</lastBuildDate>
    <atom:link href="https://emresahin.net/categories/security/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Poor man's secrets manager with pass</title>
      <published>2025-01-02T15:21:45+00:00</published>
      <updated>2025-01-02T15:21:45+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Thu, 02 Jan 2025 15:21:45 +0000</pubDate>
      <link>https://emresahin.net/poor-man-s-secrets-manager-with-pass/</link>
      <guid isPermaLink="true">https://emresahin.net/poor-man-s-secrets-manager-with-pass/</guid>
      <description>I recently restarted using pass , the standard Unix password manager, to store my passwords. At work, we use Doppler to manage our secrets. It injects environment variables before running commands. I thought, why can’t I do the same with a simple script? The following script evaluates all passwor...</description>
      <category>Security</category>
      <category>Tools</category>
      <category>pass</category>
      <category>secrets-management</category>
      <category>cli</category>
      <category>shell-script</category>
      <category>zsh</category>
      <content:encoded><![CDATA[<p>I recently restarted using <code>pass</code>, the standard Unix password manager, to store my passwords.</p>
<p>At work, we use Doppler to manage our secrets. It injects environment variables before running commands. I thought, why can’t I do the same with a simple script?</p>
<p>The following script evaluates all password files with <code>env</code> in their names. I keep my environment variables in files named <code>env-aws</code>, etc., in the following format:</p>
<pre><code class="language-bash">export AWS_ACCESS_KEY_ID="123456...."
</code></pre>
<p>The following script, which I called <code>rws</code> (short for <code>run-with-secrets</code>), allows me to run a command like <code>rws s3cmd</code> and use <code>pass</code> to inject the variables. So far, I’m happy with it.</p>
<pre><code class="language-zsh">#!/bin/zsh

cmd="$@"

fd -F env $HOME/.password-store | while read file ; do
  bb="${file:t:r}"
  eval $(pass show ${bb})
done

exec $cmd
</code></pre>]]></content:encoded>
    </item>
    <item>
      <title>TIL: Password Hashing with Bcrypt in Go</title>
      <published>2020-12-29T20:55:06+00:00</published>
      <updated>2020-12-29T20:55:06+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Tue, 29 Dec 2020 20:55:06 +0000</pubDate>
      <link>https://emresahin.net/til-9/</link>
      <guid isPermaLink="true">https://emresahin.net/til-9/</guid>
      <description>You can use the bcrypt package for hashing passwords in Go. It also includes a cost parameter to increase the difficulty of the hashing algorithm, making it more resistant to brute-force attacks.</description>
      <category>Golang</category>
      <category>Security</category>
      <category>Encryption</category>
      <category>Hashing</category>
      <category>Passwords</category>
      <category>Bcrypt</category>
      <content:encoded><![CDATA[<p>You can use the <code>bcrypt</code> package for hashing passwords in Go. It also includes a <em>cost</em> parameter to increase the difficulty of the hashing algorithm, making it more resistant to brute-force attacks.</p>]]></content:encoded>
    </item>
  </channel>
</rss>
