microsoft-azure-storage/src/com/microsoft/azure/storage/core/StorageCredentialsHelper.java
public static void signTableRequest(final StorageCredentials creds, final java.net.HttpURLConnection request,
            final long contentLength, OperationContext opContext) throws InvalidKeyException, StorageException {
        if (creds.getClass().equals(StorageCredentialsAccountAndKey.class)) {
            opContext = opContext == null ? new OperationContext() : opContext;
            request.setRequestProperty(Constants.HeaderConstants.DATE, Utility.getGMTTime());

            final Canonicalizer canonicalizer = CanonicalizerFactory.getTableCanonicalizer(request);

            final String stringToSign = canonicalizer.canonicalize(request, creds.getAccountName(), contentLength);

            final String computedBase64Signature = StorageCredentialsHelper.computeHmac256(creds, stringToSign);
            
            Logger.debug(opContext, LogConstants.SIGNING, stringToSign);

            request.setRequestProperty(Constants.HeaderConstants.AUTHORIZATION,
                    String.format("%s %s:%s", "SharedKey", creds.getAccountName(), computedBase64Signature));
        }
    }
public static void signTableRequest(final StorageCredentials creds, final java.net.HttpURLConnection request,
            final long contentLength, OperationContext opContext) throws InvalidKeyException, StorageException {
        if (creds.getClass().equals(StorageCredentialsAccountAndKey.class)) {
            opContext = opContext == null ? new OperationContext() : opContext;
            request.setRequestProperty(Constants.HeaderConstants.DATE, Utility.getGMTTime());

            final Canonicalizer canonicalizer = CanonicalizerFactory.getTableCanonicalizer(request);

            final String stringToSign = canonicalizer.canonicalize(request, creds.getAccountName(), contentLength);

            final String computedBase64Signature = StorageCredentialsHelper.computeHmac256(creds, stringToSign);
            
            Logger.debug(opContext, LogConstants.SIGNING, stringToSign);

            request.setRequestProperty(Constants.HeaderConstants.AUTHORIZATION,
                    String.format("%s %s:%s", "SharedKey", creds.getAccountName(), computedBase64Signature));
        }
    }
public static void signTableRequest ( final StorageCredentials creds , final java . net . HttpURLConnection request , final long contentLength , OperationContext opContext ) throws InvalidKeyException , StorageException { if ( creds . getClass ( ) . equals ( StorageCredentialsAccountAndKey . class ) ) { opContext = opContext == null ? new OperationContext ( ) : opContext ; request . setRequestProperty ( Constants . HeaderConstants . DATE , Utility . getGMTTime ( ) ) ; final Canonicalizer canonicalizer = CanonicalizerFactory . getTableCanonicalizer ( request ) ; final String stringToSign = canonicalizer . canonicalize ( request , creds . getAccountName ( ) , contentLength ) ; final String computedBase64Signature = StorageCredentialsHelper . computeHmac256 ( creds , stringToSign ) ; Logger . debug ( opContext , LogConstants . SIGNING , stringToSign ) ; request . setRequestProperty ( Constants . HeaderConstants . AUTHORIZATION , String . format ( "%s %s:%s" , "SharedKey" , creds . getAccountName ( ) , computedBase64Signature ) ) ; } }
Signs a request using the specified operation context under the Shared Key authentication scheme.

@param request
An <code>HttpURLConnection</code> object that represents the request to sign.
@param contentLength
The length of the content written to the output stream. If unknown, specify -1.
@param opContext
An {@link OperationContext} object that represents the context for the current operation. This object
is used to track requests to the storage service, and to provide additional runtime information about
the operation.

@throws InvalidKeyException
If the given key is invalid.
@throws StorageException
If a storage service error occurred.
Signs a request using the specified operation context under the Shared Key authentication scheme .