Skip to content

Instantly share code, notes, and snippets.

View OlukaDenis's full-sized avatar
🚀
Availbale for Hire

Oluka Denis OlukaDenis

🚀
Availbale for Hire
View GitHub Profile
@OlukaDenis
OlukaDenis / README.md
Created July 17, 2026 09:38
Generate Keystore Script

Android App Signing Keystore Generator

A robust, production-ready Bash script to automate the secure generation of Android App Signing Keystores using Java's keytool utility. This script complies with modern Android security standards, including the PKCS12 keystore format, matching store/key passwords, and Google Play's 25+ year validity recommendation.

Key Features

  • Modern Standards: Generates standard standard-compliant PKCS12 format keystores.
  • Identical Passwords: Uses a single password for both the store and the key to prevent PKCS12 keytool issues.
  • Extended Validity: Sets key validity to 20,000 days (approximately 54 years), meeting and exceeding Google Play's minimum 25-year mandate.
  • Descriptive CLI Flags: Uses expressive, self-documenting command-line arguments instead of cryptic single-letter options.
@OlukaDenis
OlukaDenis / AppSignatureHashHelper.kt
Last active January 6, 2023 12:34
A helper that generates an 11 alphanumeric hash for SMS Retriever API
import android.annotation.TargetApi
import android.content.Context
import android.content.ContextWrapper
import android.content.pm.PackageManager
import android.util.Base64.*
import timber.log.Timber
import java.nio.charset.StandardCharsets
import java.security.MessageDigest
import java.security.NoSuchAlgorithmException
.list-item::after {
background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="none" stroke="black" stroke-width="4" stroke-miterlimit="10" d="M4.75 1.5l6.5 6.5-6.5 6.5"/></svg>');
background-size: 8px 8px;
background-repeat: no-repeat;
content: '';
display: inline-block;
height: 8px;
margin-left: 4px;
width: 16px;
}
.list-item:nth-of-type(odd){
background-color: slategrey;
}
.list-item:nth-child(2n-1){
background-color: slategrey;
}
.list-item:hover {
background-color: aliceblue;
}
.list a:link{
color: black;
}
.list a:active{
color: green;
<div class="container">
<h1>Top 5 Languages </h1>
<p>In the last year, developers collaborated in more than 370 primary languages on GitHub. The following are the the top five languages with more contributions on GitHub</p>
<div class="list">
<ul>
<li class="list-item"> <a href="#"> Javascript </a> </li>
<li class="list-item"> <a href="#"> Python </a> </li>
<li class="list-item"> <a href="#"> Java </a> </li>
<li class="list-item"> <a href="#"> PHP </a> </li>
<li class="list-item"> <a href="#"> C# </a> </li>
selector:pseudo-class {
property:value;
}
@OlukaDenis
OlukaDenis / palidnrome-checker.js
Created August 17, 2019 16:52
Checking for a palindrome using Javascript
function palindromeCheck(){
let word = prompt("Write a word:")
let collection = []
//adding letters from word to collection
for(let i = 0; i < word.length; i++ ){
collection.push(word[i]);
}
this.front = function(){
return collection[0]
@OlukaDenis
OlukaDenis / stair-case.js
Created August 17, 2019 09:49
A simplest method to solve Hackerrank stairCase problem.
function stairCase(n){
let arr = Array(n-1).fill(' ')
for (let i = n-1; i >= 0; i--) {
arr[i] = '#';
console.log(arr.join(''));
}
}
stairCase(6)