-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Generated gh-pages for commit a9302bf
Author: Hanna Rosul <[email protected]> Add Node JS example to Params Encryption section (#336)
- Loading branch information
1 parent
a48793b
commit e5a61e3
Showing
4 changed files
with
58 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -125,11 +125,38 @@ that can be downloaded from `Bouncy Castle Latest Releases`_. | |
} | ||
public static void main(String[] args) throws Exception { | ||
String email = "encrypted_email@example.com"; | ||
String email = "email_to_encrypt@example.com"; | ||
System.out.println(encryptParam(email)); | ||
} | ||
} | ||
Node.js Example | ||
--------------- | ||
|
||
.. code-block:: js | ||
const fs = require('fs'); | ||
const crypto = require('crypto'); | ||
// Read the public key from file | ||
const publicKey = fs.readFileSync('talkable_your_site_slug_public_key.pem', 'utf8'); | ||
const encryptData = (data) => { | ||
const encryptedData = crypto.publicEncrypt( | ||
{ | ||
key: publicKey, | ||
padding: crypto.constants.RSA_PKCS1_OAEP_PADDING, | ||
oaepHash: 'sha1', | ||
}, | ||
Buffer.from(data) | ||
); | ||
return encryptedData.toString('base64'); | ||
}; | ||
// Example usage | ||
const encryptedEmail = encryptData('[email protected]'); | ||
console.log('Encrypted email:', encryptedEmail); | ||
Front-end Part | ||
-------------- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -55,6 +55,7 @@ | |
<li class="toctree-l3"><a class="reference internal" href="#passing-email-as-a-get-parameter-to-standalone-campaign">Passing email as a GET parameter to Standalone Campaign</a></li> | ||
<li class="toctree-l3"><a class="reference internal" href="#ruby-example">Ruby Example</a></li> | ||
<li class="toctree-l3"><a class="reference internal" href="#java-example">Java Example</a></li> | ||
<li class="toctree-l3"><a class="reference internal" href="#node-js-example">Node.js Example</a></li> | ||
<li class="toctree-l3"><a class="reference internal" href="#front-end-part">Front-end Part</a></li> | ||
</ul> | ||
</li> | ||
|
@@ -224,13 +225,39 @@ <h2>Java Example<a class="headerlink" href="#java-example" title="Link to this h | |
<span class="w"> </span><span class="p">}</span> | ||
|
||
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">Exception</span><span class="w"> </span><span class="p">{</span> | ||
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">email</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"encrypted_email@example.com"</span><span class="p">;</span> | ||
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">email</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"email_to_encrypt@example.com"</span><span class="p">;</span> | ||
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">encryptParam</span><span class="p">(</span><span class="n">email</span><span class="p">));</span> | ||
<span class="w"> </span><span class="p">}</span> | ||
<span class="p">}</span> | ||
</pre></div> | ||
</div> | ||
</section> | ||
<section id="node-js-example"> | ||
<h2>Node.js Example<a class="headerlink" href="#node-js-example" title="Link to this heading">¶</a></h2> | ||
<div class="highlight-js notranslate"><div class="highlight"><pre><span></span><span class="kd">const</span><span class="w"> </span><span class="nx">fs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">require</span><span class="p">(</span><span class="s1">'fs'</span><span class="p">);</span> | ||
<span class="kd">const</span><span class="w"> </span><span class="nx">crypto</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">require</span><span class="p">(</span><span class="s1">'crypto'</span><span class="p">);</span> | ||
|
||
<span class="c1">// Read the public key from file</span> | ||
<span class="kd">const</span><span class="w"> </span><span class="nx">publicKey</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">fs</span><span class="p">.</span><span class="nx">readFileSync</span><span class="p">(</span><span class="s1">'talkable_your_site_slug_public_key.pem'</span><span class="p">,</span><span class="w"> </span><span class="s1">'utf8'</span><span class="p">);</span> | ||
|
||
<span class="kd">const</span><span class="w"> </span><span class="nx">encryptData</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nx">data</span><span class="p">)</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span> | ||
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">encryptedData</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">crypto</span><span class="p">.</span><span class="nx">publicEncrypt</span><span class="p">(</span> | ||
<span class="w"> </span><span class="p">{</span> | ||
<span class="w"> </span><span class="nx">key</span><span class="o">:</span><span class="w"> </span><span class="nx">publicKey</span><span class="p">,</span> | ||
<span class="w"> </span><span class="nx">padding</span><span class="o">:</span><span class="w"> </span><span class="nx">crypto</span><span class="p">.</span><span class="nx">constants</span><span class="p">.</span><span class="nx">RSA_PKCS1_OAEP_PADDING</span><span class="p">,</span> | ||
<span class="w"> </span><span class="nx">oaepHash</span><span class="o">:</span><span class="w"> </span><span class="s1">'sha1'</span><span class="p">,</span> | ||
<span class="w"> </span><span class="p">},</span> | ||
<span class="w"> </span><span class="nx">Buffer</span><span class="p">.</span><span class="kr">from</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> | ||
<span class="w"> </span><span class="p">);</span> | ||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">encryptedData</span><span class="p">.</span><span class="nx">toString</span><span class="p">(</span><span class="s1">'base64'</span><span class="p">);</span> | ||
<span class="p">};</span> | ||
|
||
<span class="c1">// Example usage</span> | ||
<span class="kd">const</span><span class="w"> </span><span class="nx">encryptedEmail</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">encryptData</span><span class="p">(</span><span class="s1">'[email protected]'</span><span class="p">);</span> | ||
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'Encrypted email:'</span><span class="p">,</span><span class="w"> </span><span class="nx">encryptedEmail</span><span class="p">);</span> | ||
</pre></div> | ||
</div> | ||
</section> | ||
<section id="front-end-part"> | ||
<h2>Front-end Part<a class="headerlink" href="#front-end-part" title="Link to this heading">¶</a></h2> | ||
<p>Please modify the front-end using this pseudo code example:</p> | ||
|
Large diffs are not rendered by default.
Oops, something went wrong.