Barcode Encryption/Decryption

Barcode Encryption/Decryption

Description:

All barcode values will be encrypted using Fernet and should be decrypted using your API Credential Secret Token used to make the API call.

Example:

On the /v9/listings and /v9/orders endpoints you will see items with encrypted_barcode fields.

 

...   "tickets": [     {       "ticket_seat": 10,       "primary_ticket_id": "723917860",       "verification_id": "TEAMNAME-REGULAR-13019-GF4YWMALQNI6QBLHVQFPUFUX",       "encrypted_barcode": "gAAAAABmViEq_jVaAVu7YW3tlf2X1L1efbCSTIJT4IgzKDDUz_1BqCpp2qrGcPq7bHOEyXaJ8mu_iKy41AFfc6Xq4BsxAZZQGg=="     },     {       "ticket_seat": 11,       "primary_ticket_id": "723917861",       "verification_id": "TEAMNAME-REGULAR-13019-6QBLHVQFPUFUXGF4YWMALQNI",       "encrypted_barcode": "gAAAAABmViHkNkY0LYjzS3j6Alo2fGQB1oclwk8m4tlL2Kfmgvl2Ce4e6zZ_PrTC1GrblHzTP8XRxB73zpvZf6GNbk-SL38K1Q=="     }   ], ...

The barcode, if present, will be encrypted using Fernet and the key will be the first 32 characters of your ApiCredential secret key.

 

Examples

Ruby

require 'fernet' require 'base64' key = '32_CHARS_LONG_EXAMPLE_API_SECRET' secret = Base64.urlsafe_encode64(key) message = '1234567890' encrypted = Fernet.generate(secret, message) verifier = Fernet.verifier(secret, encrypted) decrypted = verifier.message if verifier.valid? puts "Encrypted: #{encrypted}" puts "Decrypted: #{decrypted}"

 

Python

from cryptography.fernet import Fernet import base64 key = b'32_CHARS_LONG_EXAMPLE_API_SECRET' secret = base64.urlsafe_b64encode(key) f = Fernet(secret) message = b'1234567890' encrypted = f.encrypt(message) decrypted = f.decrypt(encrypted) print('Encrypted:', encrypted) print('Decrypted:', decrypted.decode())

 

C Sharp

using System; using Fernet; class Program { static void Main() { var key = "32_CHARS_LONG_EXAMPLE_API_SECRET"; var secret = Base64Url.Encode(System.Text.Encoding.UTF8.GetBytes(key)); var fernet = new Fernet.Encryptor(secret); var message = "1234567890"; var encrypted = fernet.Encrypt(message); var decrypted = fernet.Decrypt(encrypted); Console.WriteLine("Encrypted: " + encrypted); Console.WriteLine("Decrypted: " + decrypted); } }

 

Javascript / Typescript

import * as fernet from 'fernet'; const key = Buffer.from('32_CHARS_LONG_EXAMPLE_API_SECRET').toString('base64url'); const secret = new fernet.Secret(key); const token = new fernet.Token({ secret, time: Date.now() }); const message = '1234567890'; const encrypted = token.encode(message); const verifier = new fernet.Token({ secret, token: encrypted, ttl: 0 }); const decrypted = verifier.decode(); console.log('Encrypted:', encrypted); console.log('Decrypted:', decrypted);

 

Go

package main import ( "encoding/base64" "fmt" "github.com/fernet/fernet-go" ) func main() { keyStr := "32_CHARS_LONG_EXAMPLE_API_SECRET" key := &fernet.Key{} copy(key[:], []byte(keyStr)) message := []byte("1234567890") token := fernet.EncryptAndSign(message, key) verified := fernet.VerifyAndDecrypt(token, 0, []*fernet.Key{key}) fmt.Println("Encrypted:", string(token)) fmt.Println("Decrypted:", string(verified)) }

 

PHP

<?php require 'vendor/autoload.php'; use Fernet\Fernet; $key = '32_CHARS_LONG_EXAMPLE_API_SECRET'; $secret = base64_encode($key); $fernet = new Fernet($secret); $message = '1234567890'; $encrypted = $fernet->encode($message); $decrypted = $fernet->decode($encrypted); echo "Encrypted: $encrypted\n"; echo "Decrypted: $decrypted\n";

 

Java

import com.maciejkrasowski.Fernet; import com.maciejkrasowski.Key; public class FernetExample { public static void main(String[] args) { String keyString = "32_CHARS_LONG_EXAMPLE_API_SECRET"; String secret = java.util.Base64.getUrlEncoder().encodeToString(keyString.getBytes()); Key key = new Key(secret); Fernet fernet = new Fernet(key); String message = "1234567890"; String token = fernet.encrypt(message); String decrypted = fernet.decrypt(token); System.out.println("Encrypted: " + token); System.out.println("Decrypted: " + decrypted); } }

 

Rust

use fernet::Fernet; fn main() { let key_str = "32_CHARS_LONG_EXAMPLE_API_SECRET"; let secret = base64::encode_config(key_str, base64::URL_SAFE_NO_PAD); let fernet = Fernet::new(&secret).unwrap(); let message = "1234567890"; let token = fernet.encrypt(message.as_bytes()); let decrypted = fernet.decrypt(&token).unwrap(); println!("Encrypted: {}", token); println!("Decrypted: {}", String::from_utf8(decrypted).unwrap()); }