Skip to content

Instantly share code, notes, and snippets.

@akhtarraza
akhtarraza / RSAEncryptor.swift
Created August 21, 2019 10:57
RSA Key-Pair generator with Encryption/Decryption support
//Reference: https://stackoverflow.com/questions/53906275/rsa-public-key-created-in-ios-swift-and-exported-as-base64-not-recognized-in-jav
import SwiftyRSA
class RSAKeyEncoding: NSObject {
// ASN.1 identifiers
private let kASNBitStringIdentifier: UInt8 = 0x03
private let kASNSequenceIdentifier: UInt8 = 0x30
@akhtarraza
akhtarraza / gist:490e4f247f2fa64d25af3f168152df39
Last active August 21, 2019 10:50
QR Scanner view implemented with delegates
import UIKit
import AVFoundation
enum QRScannerError: Error {
case deviceNotSupported
case permissionError(Error?)
case noQrFound
}
/// Delegate callback for the QRScannerView.
protocol QRScannerViewDelegate: class {
@akhtarraza
akhtarraza / QRString
Created August 21, 2019 10:44
Generate QRCode Image for a given string.
import UIKit
extension String {
func qrCode() -> UIImage? {
let data = self.data(using: .isoLatin1)
guard let qrFilter = CIFilter(name: "CIQRCodeGenerator") else {
return nil
}
qrFilter.setValue("M", forKey: "inputCorrectionLevel")
@akhtarraza
akhtarraza / UIViewDecoration
Last active August 21, 2019 10:45
UIView with border width, border color, corner radius
import UIKit
protocol Decorating {
var borderWidth: CGFloat {get set}
var cornerRadius: CGFloat {get set}
var borderColor: UIColor {get set}
var shadowOffset: CGSize {get set}
}
extension Decorating where Self: UIView {
import Alamofire
private let kArrayElementKey = "arrayElementKey"
extension Array {
func asParameter() -> Parameters {
return [kArrayElementKey: self]
}
}
import Alamofire
public class AuthSessionManager {
static var sharedManager = AuthSessionManager()
public var sessionManager: SessionManager
private init() {
let serverTrustPolicy = ServerTrustPolicy.pinCertificates (
@akhtarraza
akhtarraza / RSAKeyEncoding.swift
Created June 20, 2019 15:21
Convert RSA Public Key to DER Format
// Sources: https://stackoverflow.com/questions/53906275/rsa-public-key-created-in-ios-swift-and-exported-as-base64-not-recognized-in-jav
import Foundation
class RSAKeyEncoding: NSObject {
// ASN.1 identifiers
private let kASNBitStringIdentifier: UInt8 = 0x03
private let kASNSequenceIdentifier: UInt8 = 0x30