Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.jruby.ext.securerandom;
 
Created by headius on 1/14/14.
public class SecureRandomLibrary {
    @JRubyMethod(meta = true)
    public static IRubyObject random_bytes(ThreadContext contextIRubyObject self) {
        return RubyString.newStringNoCopy(context.runtimenextBytes(context, 16));
    }
    @JRubyMethod(meta = true)
    public static IRubyObject random_bytes(ThreadContext contextIRubyObject selfIRubyObject n) {
        return RubyString.newStringNoCopy(context.runtimenextBytes(contextn));
    }
    @JRubyMethod(meta = true)
    public static IRubyObject hex(ThreadContext contextIRubyObject self) {
        return RubyString.newStringNoCopy(context.runtime, ConvertBytes.twosComplementToHexBytes(nextBytes(context, 16), false));
    }
    @JRubyMethod(meta = true)
    public static IRubyObject hex(ThreadContext contextIRubyObject selfIRubyObject n) {
        return RubyString.newStringNoCopy(context.runtime, ConvertBytes.twosComplementToHexBytes(nextBytes(contextn), false));
    }
    @JRubyMethod(meta = true, compat = .)
    public static IRubyObject uuid(ThreadContext contextIRubyObject self) {
        return RubyString.newStringNoCopy(context.runtime, ConvertBytes.bytesToUUIDBytes(nextBytes(context, 16), false));
    }
    private static byte[] nextBytes(ThreadContext contextIRubyObject n) {
        int size = n.isNil() ? 16 : (int)n.convertToInteger().getLongValue();
        return nextBytes(contextsize);
    }
    private static byte[] nextBytes(ThreadContext contextint size) {
        if (size < 0) throw context.runtime.newArgumentError("negative argument: " + size);
        byte[] bytes = new byte[size];
        context.secureRandom.nextBytes(bytes);
        return bytes;
    }
New to GrepCode? Check out our FAQ X