Can I encrypt user input in a way I can't decrypt it for a certain period of time? I run a baseball league and would like to do silent auctions for free agents.  This would require teams to enter their highest bid and the highest bidder at the end of the auction period would win.  Unfortunately, my league, my code, my server, I have access to the information if I choose to look at it.  I'd like to not put myself in that position and have that information available.  

Is there any way I could encrypt the inputed data so that I can't unlock it for a specific amount of time (2 days)? Is this possible?

An alternate way of doing it would involve md5'ing the users input, but that would require them to come back and 'unlock' their bid.  I don't like this b/c if a player gets injured after their bid, they'll 'forget' their bid and not unlock it...

I'm running LAMP/LAPP.

UPDATE - Solution (for my case...)

To answer the question of league trust, there are three factors.


will I cheat?  the smallest issue I actually have b/c I don't think I will
will the league think I cheated?  it doesn't matter if I do if them thinking I do causes an issue
if a donut is sitting on the table you can choose to not eat it, but you'd rather it not be sitting there.  even if you can restrain yourself, it isn't always pleasant to do so.  I'd like to think I wouldn't actually cheat, but don't want to have to restrain myself.


Solution:

It seems there isn't a good general solution to this problem.  Several of the solutions required a fair amount of technical knowledge from the majority of the league, which unfortunately, isn't the case - but there are 2 other programmers in the league.  Here's what I'm settling on:

I'm extending the auction from 2 days to 3 days.  I'm going to bid in the first day and md5 my bid with a salt "jibberish-text-salt-3.5M" and display that encrypted text on the auction page.  I won't change my bid after that, others can bid over the next 2 days.  At the end of the auction, I'll post my salted bid so the other programmers can confirm I haven't cheated.  Anybody else that is concerned can learn to use md5, I feel I've done enough to keep myself honest at this point.

Without being able to change my bid, and being forced to bid early, I'm at a slight disadvantage - a player could get injured, etc.  To even this out, I'm instituting an option for me to appeal to the league that my bid be canceled should something huge happen (since I would wait until the last minute otherwise to prevent this from happening).  The league will then vote on it.  There's also the possibility that someone I'm not interested in gets nominated and then 2 days later I gain interest (promoted to Closer for instance).  This can't really be accounted for, so I'm just going to risk it for the sake of the league...

Thank you all for your suggestions.  They didn't work for me in this exact situation, but I learned a lot in the process and was exposed to some new interesting ideas.

I'm going to accept mgorven's answer as I feel the trusted 3rd party approach is the most correct general use case solution.  I'm not sure what the protocol is for this...
This is an interesting discussion of the problem, as well as this crypto.SE question (they seem to be called "time-lock puzzles").

The most reliable scheme is to use a trusted third party which provides a public key and only releases the private key some time later.

The only scheme that doesn't require a trusted third party is to iteratively hash a random value for the time period you want, use the result to encrypt the information, and then discard the result and store the initial random value. To decrypt the data the iterative hashing needs to be performed again in order to recover the result which was used to encrypt the data, which should take the same amount of time it did before (although hashing can be sped up with GPUs or ASICs).